{"id":6576,"date":"2022-12-17T10:48:16","date_gmt":"2022-12-17T10:48:16","guid":{"rendered":"https:\/\/www.modernescpp.com\/index.php\/webinar-c-with-python-for-algorithmic-trading\/"},"modified":"2022-12-17T10:48:16","modified_gmt":"2022-12-17T10:48:16","slug":"webinar-c-with-python-for-algorithmic-trading","status":"publish","type":"post","link":"https:\/\/www.modernescpp.com\/index.php\/webinar-c-with-python-for-algorithmic-trading\/","title":{"rendered":"Webinar: C++ with Python for Algorithmic Trading"},"content":{"rendered":"<p>It\u2019s a surprising fact that C++ and Python are often and effectively used together.&nbsp; They are different and tend to be used, on their own, in very different ways.&nbsp; Why should they be associated more than most pairs of languages?&nbsp;<\/p>\n<p><!--more--><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<img loading=\"lazy\" decoding=\"async\" class=\" size-full wp-image-6575\" src=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/12\/PythonCpp.png\" alt=\"PythonCpp\" width=\"500\" height=\"176\" style=\"display: block; margin-left: auto; margin-right: auto;\" srcset=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/12\/PythonCpp.png 1007w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/12\/PythonCpp-300x105.png 300w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/12\/PythonCpp-768x270.png 768w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/p>\n<p>The answer is history.&nbsp; The originator of Python, Guido van Rossum, was making his name at the time when C++ was the new cool language.&nbsp; C++ was the tool with which most people implemented object-oriented software designs.&nbsp; You can see the influence in the similarities between the OO aspects of the two languages (classes, multiple inheritances, etc.).&nbsp; However, initially, most people saw Python as just &#8220;a better Perl&#8221; (which is why we still call Python programs \u201cscripts\u201d).<\/p>\n<p>Fast forward 10 &#8211; 15 years and everyone\u2019s using Python &#8211; including C++ programmers.&nbsp; Due to its ease of development, there are now many more libraries for Python than for C++.&nbsp; But: some of these are too slow in pure Python.&nbsp; Library writers have needed to cross the language divide from the beginning.&nbsp; Thus, packages like <a href=\"https:\/\/docs.python.org\/3\/library\/ctypes.html\">ctypes<\/a>, <a href=\"https:\/\/www.swig.org\/Doc1.3\/Python.html\">SWIG<\/a>, <a href=\"https:\/\/www.boost.org\/doc\/libs\/1_81_0\/libs\/python\/doc\/html\/index.html\">Boost.Python<\/a> and <a href=\"https:\/\/github.com\/pybind\/pybind11\">PyBind11<\/a> (amongst others) have been developed.<\/p>\n<p>At the same time, in a large system with many types of users and developers, the availability of C++ to Python projects is very convenient.&nbsp; Processing-intensive functionality can be written in efficient C++ and then exposed to Python.&nbsp; This has, in fact, yielded many real-world use cases.&nbsp; In finance, for example, complex quant libraries can be provided for rapid experimentation in Python by structures and others.<\/p>\n<p>The vast array of Python packages has also led to the reverse arrangement.&nbsp; By embedding a Python interpreter in C++ code, you get access to all that functionality.&nbsp; This is useful, for instance, for regular expression parsing.&nbsp; In another use, Python can be used as a scripting language within a C++ application and executed by the embedded interpreter on the fly.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" alignleft size-full wp-image-6466\" src=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/09\/three.jpg\" alt=\"three\" width=\"400\" height=\"311\" style=\"float: left;\" srcset=\"https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/09\/three.jpg 1249w, https:\/\/www.modernescpp.com\/wp-content\/uploads\/2022\/09\/three-300x233.jpg 300w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;In our webinar, <strong>Antony Peacoc<\/strong>k, a professional financial programmer and a voting member of the International ISO C++ Committee, will discuss some of the ways Python is used with C++ in practice.&nbsp; He will talk through some ways large trading houses and investment banks where he\u2019s worked combine these languages.<\/p>\n<p><strong>Rainer Grimm<\/strong> himself will present specific Python\/C++ uses and techniques.&nbsp; He will look at both C++ incorporated into Python and with the Python interpreter embedded in C++.<\/p>\n<p>Finally, <strong>Richard Hickling<\/strong> will show us the code.&nbsp; He will step through the exposure of a simple C++ financial use case in Python and demo it for us.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Here are the details:<\/p>\n<ul>\n<li><strong>When<\/strong>: December 20, 2022; 6:00 PM UK time<strong><br \/><\/strong><\/li>\n<li><strong>Participation<\/strong>:&nbsp; <a href=\"https:\/\/profitview.net\/events\/cpp-python-algo-trading\">Registration Page<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It\u2019s a surprising fact that C++ and Python are often and effectively used together.&nbsp; They are different and tend to be used, on their own, in very different ways.&nbsp; Why should they be associated more than most pairs of languages?&nbsp;<\/p>\n","protected":false},"author":21,"featured_media":6575,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[360],"tags":[],"class_list":["post-6576","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"_links":{"self":[{"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/posts\/6576","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/comments?post=6576"}],"version-history":[{"count":0,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/posts\/6576\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/media\/6575"}],"wp:attachment":[{"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/media?parent=6576"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/categories?post=6576"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.modernescpp.com\/index.php\/wp-json\/wp\/v2\/tags?post=6576"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}