{"id":47737,"date":"2020-06-04T12:20:50","date_gmt":"2020-06-04T16:20:50","guid":{"rendered":"https:\/\/ibkrcampus.com\/?p=47737"},"modified":"2023-01-20T14:57:35","modified_gmt":"2023-01-20T19:57:35","slug":"how-to-code-a-bracket-order-in-python","status":"publish","type":"post","link":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-code-a-bracket-order-in-python\/","title":{"rendered":"How to Code a Bracket Order in Python"},"content":{"rendered":"\n<p>IBKR API&nbsp;GitHub Guide offers practical examples in Python on how to code order types and algos.<\/p>\n\n\n\n<p>Today we review the Python syntax for&nbsp;<em>a Bracket Order<\/em>. This order type is intended to help limit your loss and attempts to &#8220;lock in&#8221; a profit by &#8220;bracketing&#8221; an order with two opposite-side orders. For the mechanics behind this order, see our Order Type page and short video here: <a href=\"https:\/\/www.interactivebrokers.com\/en\/index.php?f=583\">https:\/\/www.interactivebrokers.com\/en\/index.php?f=583<\/a><\/p>\n\n\n\n<p>Let&#8217;s try to code this in Python &#8211; take a look at the script below as referenced from our <a href=\"https:\/\/interactivebrokers.github.io\/tws-api\/bracket_order.html\">GitHub Guide<\/a>. It is important to note that the Bracket order is composed of three orders, so traders need to pay attention if one or two of the orders get filled before the entire bracket is sent. To avoid this, consider using the&nbsp;<code>IBApi.Order.Transmit<\/code>&nbsp;flag. Read how here: <a href=\"https:\/\/interactivebrokers.github.io\/tws-api\/classIBApi_1_1Order.html#aaa1c4f31b9580ee0715edcd78a51cbec\">https:\/\/interactivebrokers.github.io\/tws-api\/classIBApi_1_1Order.html#aaa1c4f31b9580ee0715edcd78a51cbec<\/a><\/p>\n\n\n\n<p><p style=\"background-color:#fcfcdb;font-size:11px\" class=\"has-background\">\n@staticmethod<br>\n         def BracketOrder(parentOrderId:int, action:str, quantity:float, <br>\n                          limitPrice:float, takeProfitLimitPrice:float, <br>\n                          stopLossPrice:float):<br><br>\n         \n             #This will be our main or &#8220;parent&#8221; order<br>\n             parent = Order()<br>\n            parent.orderId = parentOrderId<br>\n             parent.action = action<br>\n            parent.orderType = &#8220;LMT&#8221;<br>\n            parent.totalQuantity = quantity<br>\n           parent.lmtPrice = limitPrice<br>\n            #The parent and children orders will need this attribute set to False to prevent accidental executions.<br>\n          #The LAST CHILD will have it set to True, <br>\n            parent.transmit = False<br><br>\n    \n            takeProfit = Order()<br>\n            takeProfit.orderId = parent.orderId + 1<br>\n            takeProfit.action = &#8220;SELL&#8221; if action == &#8220;BUY&#8221; else &#8220;BUY&#8221;<br>\n           takeProfit.orderType = &#8220;LMT&#8221;<br>\n            takeProfit.totalQuantity = quantity<br>\n           takeProfit.lmtPrice = takeProfitLimitPrice<br>\n           takeProfit.parentId = parentOrderId<br>\n            takeProfit.transmit = False<br><br>\n    \n            stopLoss = Order()<br>\n            stopLoss.orderId = parent.orderId + 2<br>\n            stopLoss.action = &#8220;SELL&#8221; if action == &#8220;BUY&#8221; else &#8220;BUY&#8221;<br>\n           stopLoss.orderType = &#8220;STP&#8221;<br>\n          #Stop trigger price<br>\n           stopLoss.auxPrice = stopLossPrice<br>\n            stopLoss.totalQuantity = quantity<br>\n          stopLoss.parentId = parentOrderId<br>\n            #In this case, the low side order will be the last child being sent. Therefore, it needs to set this attribute to True <br>\n            #to activate all its predecessors<br>\n            stopLoss.transmit = True<br><br>\n   \n            bracketOrder = [parent, takeProfit, stopLoss]<br>\n           return bracketOrder\n       \n<\/p><\/p>\n\n\n\n<p style=\"background-color:#fcfcdb;font-size:11px\" class=\"has-background\">\n bracket = OrderSamples.BracketOrder(self.nextOrderId(), &#8220;BUY&#8221;, 100, 30, 40, 20)<br>\n             for o in bracket:<br>\n                self.placeOrder(o.orderId, ContractSamples.EuropeanStock(), o)<br>\n                 self.nextOrderId()  # need to advance this we&#8217;ll skip one extra oid, it&#8217;s fine\n       \n<\/p>\n\n\n\n<p>Stay tuned for more articles featuring IBKR order types. See the previous installment in this series: <a href=\"\/campus\/ibkr-quant-news\/how-to-code-forex-order-in-python\/\">How to Code a Forex Order in Python<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Learn how to code a bracket order in Python. Download syntax from IBKR GitHub Guide, and practice in a simulated environment first.<\/p>\n","protected":false},"author":90,"featured_media":20117,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[339,340,343,349,338,341,352,344],"tags":[851,7734,865,7735,575,595,494],"contributors-categories":[13576],"class_list":{"0":"post-47737","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-data-science","8":"category-api-development","9":"category-programing-languages","10":"category-python-development","11":"category-ibkr-quant-news","12":"category-quant-development","13":"category-quant-north-america","14":"category-quant-regions","15":"tag-algo-trading","16":"tag-bracket-order","17":"tag-github","18":"tag-ibapi-order-transmit","19":"tag-ibkr-api","20":"tag-python","21":"tag-quant","22":"contributors-categories-interactive-brokers"},"pp_statuses_selecting_workflow":false,"pp_workflow_action":"current","pp_status_selection":"publish","acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.9 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>How to Code a Bracket Order in Python | IBKR Quant<\/title>\n<meta name=\"description\" content=\"Learn how to code a bracket order in Python. Download syntax from IBKR GitHub Guide, and practice in a simulated environment first.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.interactivebrokers.com\/campus\/wp-json\/wp\/v2\/posts\/47737\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Code a Bracket Order in Python | IBKR Quant Blog\" \/>\n<meta property=\"og:description\" content=\"Learn how to code a bracket order in Python. Download syntax from IBKR GitHub Guide, and practice in a simulated environment first.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-code-a-bracket-order-in-python\/\" \/>\n<meta property=\"og:site_name\" content=\"IBKR Campus US\" \/>\n<meta property=\"article:published_time\" content=\"2020-06-04T16:20:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-01-20T19:57:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/10\/quant-tec-02.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1150\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"IBKR Quant\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"IBKR Quant\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\n\t    \"@context\": \"https:\\\/\\\/schema.org\",\n\t    \"@graph\": [\n\t        {\n\t            \"@type\": \"NewsArticle\",\n\t            \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/how-to-code-a-bracket-order-in-python\\\/#article\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/how-to-code-a-bracket-order-in-python\\\/\"\n\t            },\n\t            \"author\": {\n\t                \"name\": \"IBKR Quant\",\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/person\\\/8279da2435a7846d83a358a25c49b8f4\"\n\t            },\n\t            \"headline\": \"How to Code a Bracket Order in Python\",\n\t            \"datePublished\": \"2020-06-04T16:20:50+00:00\",\n\t            \"dateModified\": \"2023-01-20T19:57:35+00:00\",\n\t            \"mainEntityOfPage\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/how-to-code-a-bracket-order-in-python\\\/\"\n\t            },\n\t            \"wordCount\": 389,\n\t            \"publisher\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#organization\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/how-to-code-a-bracket-order-in-python\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2019\\\/10\\\/quant-tec-02.jpg\",\n\t            \"keywords\": [\n\t                \"Algo Trading\",\n\t                \"Bracket Order\",\n\t                \"GitHub\",\n\t                \"IBApi.Order.Transmit\",\n\t                \"IBKR API\",\n\t                \"Python\",\n\t                \"Quant\"\n\t            ],\n\t            \"articleSection\": [\n\t                \"Data Science\",\n\t                \"IBKR API Development\",\n\t                \"Programming Languages\",\n\t                \"Python Development\",\n\t                \"Quant\",\n\t                \"Quant Development\",\n\t                \"Quant North America\",\n\t                \"Quant Regions\"\n\t            ],\n\t            \"inLanguage\": \"en-US\"\n\t        },\n\t        {\n\t            \"@type\": \"WebPage\",\n\t            \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/how-to-code-a-bracket-order-in-python\\\/\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/how-to-code-a-bracket-order-in-python\\\/\",\n\t            \"name\": \"How to Code a Bracket Order in Python | IBKR Quant Blog\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#website\"\n\t            },\n\t            \"primaryImageOfPage\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/how-to-code-a-bracket-order-in-python\\\/#primaryimage\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/how-to-code-a-bracket-order-in-python\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2019\\\/10\\\/quant-tec-02.jpg\",\n\t            \"datePublished\": \"2020-06-04T16:20:50+00:00\",\n\t            \"dateModified\": \"2023-01-20T19:57:35+00:00\",\n\t            \"description\": \"Learn how to code a bracket order in Python. Download syntax from IBKR GitHub Guide, and practice in a simulated environment first.\",\n\t            \"inLanguage\": \"en-US\",\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"ReadAction\",\n\t                    \"target\": [\n\t                        \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/how-to-code-a-bracket-order-in-python\\\/\"\n\t                    ]\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"ImageObject\",\n\t            \"inLanguage\": \"en-US\",\n\t            \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/how-to-code-a-bracket-order-in-python\\\/#primaryimage\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2019\\\/10\\\/quant-tec-02.jpg\",\n\t            \"contentUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2019\\\/10\\\/quant-tec-02.jpg\",\n\t            \"width\": 1150,\n\t            \"height\": 720,\n\t            \"caption\": \"Neural Networks\"\n\t        },\n\t        {\n\t            \"@type\": \"WebSite\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#website\",\n\t            \"url\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/\",\n\t            \"name\": \"IBKR Campus US\",\n\t            \"description\": \"Financial Education from Interactive Brokers\",\n\t            \"publisher\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#organization\"\n\t            },\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"SearchAction\",\n\t                    \"target\": {\n\t                        \"@type\": \"EntryPoint\",\n\t                        \"urlTemplate\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/?s={search_term_string}\"\n\t                    },\n\t                    \"query-input\": {\n\t                        \"@type\": \"PropertyValueSpecification\",\n\t                        \"valueRequired\": true,\n\t                        \"valueName\": \"search_term_string\"\n\t                    }\n\t                }\n\t            ],\n\t            \"inLanguage\": \"en-US\"\n\t        },\n\t        {\n\t            \"@type\": \"Organization\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#organization\",\n\t            \"name\": \"Interactive Brokers\",\n\t            \"alternateName\": \"IBKR\",\n\t            \"url\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/\",\n\t            \"logo\": {\n\t                \"@type\": \"ImageObject\",\n\t                \"inLanguage\": \"en-US\",\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/logo\\\/image\\\/\",\n\t                \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2024\\\/05\\\/ibkr-campus-logo.jpg\",\n\t                \"contentUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2024\\\/05\\\/ibkr-campus-logo.jpg\",\n\t                \"width\": 669,\n\t                \"height\": 669,\n\t                \"caption\": \"Interactive Brokers\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/logo\\\/image\\\/\"\n\t            },\n\t            \"publishingPrinciples\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/about-ibkr-campus\\\/\",\n\t            \"ethicsPolicy\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/cyber-security-notice\\\/\"\n\t        },\n\t        {\n\t            \"@type\": \"Person\",\n\t            \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/person\\\/8279da2435a7846d83a358a25c49b8f4\",\n\t            \"name\": \"IBKR Quant\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/author\\\/ibkrquant\\\/\"\n\t        }\n\t    ]\n\t}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Code a Bracket Order in Python | IBKR Quant","description":"Learn how to code a bracket order in Python. Download syntax from IBKR GitHub Guide, and practice in a simulated environment first.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.interactivebrokers.com\/campus\/wp-json\/wp\/v2\/posts\/47737\/","og_locale":"en_US","og_type":"article","og_title":"How to Code a Bracket Order in Python | IBKR Quant Blog","og_description":"Learn how to code a bracket order in Python. Download syntax from IBKR GitHub Guide, and practice in a simulated environment first.","og_url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-code-a-bracket-order-in-python\/","og_site_name":"IBKR Campus US","article_published_time":"2020-06-04T16:20:50+00:00","article_modified_time":"2023-01-20T19:57:35+00:00","og_image":[{"width":1150,"height":720,"url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/10\/quant-tec-02.jpg","type":"image\/jpeg"}],"author":"IBKR Quant","twitter_card":"summary_large_image","twitter_misc":{"Written by":"IBKR Quant","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-code-a-bracket-order-in-python\/#article","isPartOf":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-code-a-bracket-order-in-python\/"},"author":{"name":"IBKR Quant","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/person\/8279da2435a7846d83a358a25c49b8f4"},"headline":"How to Code a Bracket Order in Python","datePublished":"2020-06-04T16:20:50+00:00","dateModified":"2023-01-20T19:57:35+00:00","mainEntityOfPage":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-code-a-bracket-order-in-python\/"},"wordCount":389,"publisher":{"@id":"https:\/\/ibkrcampus.com\/campus\/#organization"},"image":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-code-a-bracket-order-in-python\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/10\/quant-tec-02.jpg","keywords":["Algo Trading","Bracket Order","GitHub","IBApi.Order.Transmit","IBKR API","Python","Quant"],"articleSection":["Data Science","IBKR API Development","Programming Languages","Python Development","Quant","Quant Development","Quant North America","Quant Regions"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-code-a-bracket-order-in-python\/","url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-code-a-bracket-order-in-python\/","name":"How to Code a Bracket Order in Python | IBKR Quant Blog","isPartOf":{"@id":"https:\/\/ibkrcampus.com\/campus\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-code-a-bracket-order-in-python\/#primaryimage"},"image":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-code-a-bracket-order-in-python\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/10\/quant-tec-02.jpg","datePublished":"2020-06-04T16:20:50+00:00","dateModified":"2023-01-20T19:57:35+00:00","description":"Learn how to code a bracket order in Python. Download syntax from IBKR GitHub Guide, and practice in a simulated environment first.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-code-a-bracket-order-in-python\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-code-a-bracket-order-in-python\/#primaryimage","url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/10\/quant-tec-02.jpg","contentUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/10\/quant-tec-02.jpg","width":1150,"height":720,"caption":"Neural Networks"},{"@type":"WebSite","@id":"https:\/\/ibkrcampus.com\/campus\/#website","url":"https:\/\/ibkrcampus.com\/campus\/","name":"IBKR Campus US","description":"Financial Education from Interactive Brokers","publisher":{"@id":"https:\/\/ibkrcampus.com\/campus\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ibkrcampus.com\/campus\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/ibkrcampus.com\/campus\/#organization","name":"Interactive Brokers","alternateName":"IBKR","url":"https:\/\/ibkrcampus.com\/campus\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/logo\/image\/","url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/05\/ibkr-campus-logo.jpg","contentUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2024\/05\/ibkr-campus-logo.jpg","width":669,"height":669,"caption":"Interactive Brokers"},"image":{"@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/logo\/image\/"},"publishingPrinciples":"https:\/\/www.interactivebrokers.com\/campus\/about-ibkr-campus\/","ethicsPolicy":"https:\/\/www.interactivebrokers.com\/campus\/cyber-security-notice\/"},{"@type":"Person","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/person\/8279da2435a7846d83a358a25c49b8f4","name":"IBKR Quant","url":"https:\/\/www.interactivebrokers.com\/campus\/author\/ibkrquant\/"}]}},"jetpack_featured_media_url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/10\/quant-tec-02.jpg","_links":{"self":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/47737","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/users\/90"}],"replies":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/comments?post=47737"}],"version-history":[{"count":0,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/47737\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media\/20117"}],"wp:attachment":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media?parent=47737"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/categories?post=47737"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/tags?post=47737"},{"taxonomy":"contributors-categories","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/contributors-categories?post=47737"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}