{"id":79991,"date":"2021-03-16T16:13:43","date_gmt":"2021-03-16T20:13:43","guid":{"rendered":"https:\/\/ibkrcampus.com\/?p=79991"},"modified":"2022-11-21T09:47:14","modified_gmt":"2022-11-21T14:47:14","slug":"how-to-create-kalman-filter-in-python-part-v","status":"publish","type":"post","link":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-create-kalman-filter-in-python-part-v\/","title":{"rendered":"How to Create Kalman Filter in Python \u2013 Part V"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em>See&nbsp;<a href=\"\/campus\/ibkr-quant-news\/how-to-create-kalman-filter-in-python\/\">Part I<\/a>,&nbsp;<a href=\"\/campus\/ibkr-quant-news\/how-to-create-kalman-filter-in-python-part-ii\/\">Part II<\/a>&nbsp;, <a href=\"\/campus\/ibkr-quant-news\/how-to-create-kalman-filter-in-python-part-iii\/\">Part III<\/a>&nbsp;and <a href=\"\/campus\/ibkr-quant-news\/how-to-create-kalman-filter-in-python-part-iv\/\">Part IV<\/a> of this series to get started with the Statistical terms and concepts used in Kalman Filter.<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"estimate-uncertainty-update\">Estimate uncertainty update<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In the Kalman filter tutorial, we saw that the Kalman gain was dependent on the uncertainty in the estimation. Now, as we know that with every successive step, the Kalman filter continuously updates the anticipated value so that we get the estimated value as close to the actual value of a variable, thus, we have to see how this uncertainty in the error can be reduced.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">While the derivation of the equation is lengthy, we are only concerned about the equation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Thus, the estimate uncertainty update equation tells us that the estimate uncertainty of current state varies from the previous estimate uncertainty by the factor of (1 &#8211; Kalman gain). We can also call this the covariance update equation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This brings us to the last equation of the Kalman filter tutorial, which we will see below.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"estimate-uncertainty-extrapolation\">Estimate uncertainty extrapolation<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The reason why the Kalman filter is popular is because it continuously updates its state depending on the anticipated and measured current value. Recall that in the second equation we had extrapolated the state of the estimate. Similarly, the estimate uncertainty of the current error is used to anticipate the uncertainty in the error in the next state.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ok. That was a simple, no equations way to describe the Kalman filter. If you are confused, let us go through the process and see what we have learned so far.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For input, we have measured value. Initially, we use certain parameters for the Kalman gain as well as the expected value. We will also make a note of the estimate uncertainty.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Now we use the Kalman filter equation to find the next expected value.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the next iteration, depending on how accurate our expected variable was, we make changes to the uncertainty estimate which in turn would modify our Kalman gain.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Thus, we get a new expected value which will be used as our current estimate in the next phase.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this way, with each step, we would get closer to anticipating the actual value with a reasonable amount of success.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That is all there is to it. We would reiterate in this Kalman filter tutorial that the reason the Kalman filter is popular is because it only needs the previous value as input and depending on the uncertainty in the measurement, the resulting value is expected. In the real world, the Kalman filter is used by implementing matrix operations as the complexity increases when we take real-world situations. If you are interested in the math part of the Kalman filter, you can go through this\u00a0<a href=\"https:\/\/www.kalmanfilter.net\/kalman1d.html\" target=\"_blank\" rel=\"noreferrer noopener\">resource<\/a>\u00a0to find many examples illustrating the individual equations of the Kalman filter.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">When it comes to trading, Kalman filter forms an important component in the pairs trading strategy. Let us build a simple pairs trading strategy in&nbsp;<a href=\"https:\/\/quantra.quantinsti.com\/course\/python-for-trading\" target=\"_blank\" rel=\"noreferrer noopener\">Python<\/a>&nbsp;now.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Stay tuned for the next installment, in which the Rekhit will review pairs trading using Kalman Filter in Python<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Download the full code:&nbsp;<a href=\"https:\/\/blog.quantinsti.com\/kalman-filter\/\">https:\/\/blog.quantinsti.com\/kalman-filter\/<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><small><em>All data and information provided in this article are for informational purposes only. QuantInsti\u00ae makes no representations as to accuracy, completeness, currentness, suitability, or validity of any information in this article and will not be liable for any errors, omissions, or delays in this information or any losses, injuries, or damages arising from its display or use. All information is provided on an as-is basis.<\/em><\/small><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Rekhit Pachanekar demonstrates how to estimate uncertainty update and extrapolation using Python.<\/p>\n","protected":false},"author":91,"featured_media":66906,"comment_status":"closed","ping_status":"open","sticky":true,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[339,343,349,338,350,341,344],"tags":[851,8778,8920,4272,9242,8710,8777,8445,595,1048,4271,9152,8155],"contributors-categories":[13654],"class_list":["post-79991","post","type-post","status-publish","format-standard","has-post-thumbnail","category-data-science","category-programing-languages","category-python-development","category-ibkr-quant-news","category-quant-asia-pacific","category-quant-development","category-quant-regions","tag-algo-trading","tag-bessels-correction","tag-equations-in-kalman-filter","tag-kalman-filter","tag-kalman-gain-equation","tag-mathematical-finance","tag-normal-distribution","tag-pairs-trading","tag-python","tag-standard-deviation","tag-statistical-arbitrage","tag-status-update-equation","tag-variance","contributors-categories-quantinsti"],"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.8) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>How to Create Kalman Filter in Python \u2013 Part V<\/title>\n<meta name=\"description\" content=\"Rekhit Pachanekar demonstrates how to estimate uncertainty update and extrapolation using Python.\" \/>\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\/79991\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Create Kalman Filter in Python \u2013 Part V | IBKR Quant Blog\" \/>\n<meta property=\"og:description\" content=\"Rekhit Pachanekar demonstrates how to estimate uncertainty update and extrapolation using Python.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-create-kalman-filter-in-python-part-v\/\" \/>\n<meta property=\"og:site_name\" content=\"IBKR Campus US\" \/>\n<meta property=\"article:published_time\" content=\"2021-03-16T20:13:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-21T14:47:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/11\/python.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"900\" \/>\n\t<meta property=\"og:image:height\" content=\"550\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Rekhit Pachanekar\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Rekhit Pachanekar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 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-create-kalman-filter-in-python-part-v\\\/#article\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/how-to-create-kalman-filter-in-python-part-v\\\/\"\n\t            },\n\t            \"author\": {\n\t                \"name\": \"Rekhit Pachanekar\",\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/person\\\/8ab08253f8958ae9552fd7d7b5697370\"\n\t            },\n\t            \"headline\": \"How to Create Kalman Filter in Python \u2013 Part V\",\n\t            \"datePublished\": \"2021-03-16T20:13:43+00:00\",\n\t            \"dateModified\": \"2022-11-21T14:47:14+00:00\",\n\t            \"mainEntityOfPage\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/how-to-create-kalman-filter-in-python-part-v\\\/\"\n\t            },\n\t            \"wordCount\": 601,\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-create-kalman-filter-in-python-part-v\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2020\\\/11\\\/python.jpg\",\n\t            \"keywords\": [\n\t                \"Algo Trading\",\n\t                \"Bessel's Correction\",\n\t                \"Equations in Kalman Filter\",\n\t                \"Kalman filter\",\n\t                \"Kalman Gain equation\",\n\t                \"Mathematical Finance\",\n\t                \"normal distribution\",\n\t                \"Pairs Trading\",\n\t                \"Python\",\n\t                \"Standard Deviation\",\n\t                \"Statistical Arbitrage\",\n\t                \"Status update equation\",\n\t                \"Variance\"\n\t            ],\n\t            \"articleSection\": [\n\t                \"Data Science\",\n\t                \"Programming Languages\",\n\t                \"Python Development\",\n\t                \"Quant\",\n\t                \"Quant Asia Pacific\",\n\t                \"Quant Development\",\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-create-kalman-filter-in-python-part-v\\\/\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/how-to-create-kalman-filter-in-python-part-v\\\/\",\n\t            \"name\": \"How to Create Kalman Filter in Python \u2013 Part V | 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-create-kalman-filter-in-python-part-v\\\/#primaryimage\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/how-to-create-kalman-filter-in-python-part-v\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2020\\\/11\\\/python.jpg\",\n\t            \"datePublished\": \"2021-03-16T20:13:43+00:00\",\n\t            \"dateModified\": \"2022-11-21T14:47:14+00:00\",\n\t            \"description\": \"Rekhit Pachanekar demonstrates how to estimate uncertainty update and extrapolation using Python.\",\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-create-kalman-filter-in-python-part-v\\\/\"\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-create-kalman-filter-in-python-part-v\\\/#primaryimage\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2020\\\/11\\\/python.jpg\",\n\t            \"contentUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2020\\\/11\\\/python.jpg\",\n\t            \"width\": 900,\n\t            \"height\": 550,\n\t            \"caption\": \"Python\"\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\\\/8ab08253f8958ae9552fd7d7b5697370\",\n\t            \"name\": \"Rekhit Pachanekar\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/author\\\/rekhit\\\/\"\n\t        }\n\t    ]\n\t}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Create Kalman Filter in Python \u2013 Part V","description":"Rekhit Pachanekar demonstrates how to estimate uncertainty update and extrapolation using Python.","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\/79991\/","og_locale":"en_US","og_type":"article","og_title":"How to Create Kalman Filter in Python \u2013 Part V | IBKR Quant Blog","og_description":"Rekhit Pachanekar demonstrates how to estimate uncertainty update and extrapolation using Python.","og_url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-create-kalman-filter-in-python-part-v\/","og_site_name":"IBKR Campus US","article_published_time":"2021-03-16T20:13:43+00:00","article_modified_time":"2022-11-21T14:47:14+00:00","og_image":[{"width":900,"height":550,"url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/11\/python.jpg","type":"image\/jpeg"}],"author":"Rekhit Pachanekar","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Rekhit Pachanekar","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-create-kalman-filter-in-python-part-v\/#article","isPartOf":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-create-kalman-filter-in-python-part-v\/"},"author":{"name":"Rekhit Pachanekar","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/person\/8ab08253f8958ae9552fd7d7b5697370"},"headline":"How to Create Kalman Filter in Python \u2013 Part V","datePublished":"2021-03-16T20:13:43+00:00","dateModified":"2022-11-21T14:47:14+00:00","mainEntityOfPage":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-create-kalman-filter-in-python-part-v\/"},"wordCount":601,"publisher":{"@id":"https:\/\/ibkrcampus.com\/campus\/#organization"},"image":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-create-kalman-filter-in-python-part-v\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/11\/python.jpg","keywords":["Algo Trading","Bessel's Correction","Equations in Kalman Filter","Kalman filter","Kalman Gain equation","Mathematical Finance","normal distribution","Pairs Trading","Python","Standard Deviation","Statistical Arbitrage","Status update equation","Variance"],"articleSection":["Data Science","Programming Languages","Python Development","Quant","Quant Asia Pacific","Quant Development","Quant Regions"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-create-kalman-filter-in-python-part-v\/","url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-create-kalman-filter-in-python-part-v\/","name":"How to Create Kalman Filter in Python \u2013 Part V | IBKR Quant Blog","isPartOf":{"@id":"https:\/\/ibkrcampus.com\/campus\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-create-kalman-filter-in-python-part-v\/#primaryimage"},"image":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-create-kalman-filter-in-python-part-v\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/11\/python.jpg","datePublished":"2021-03-16T20:13:43+00:00","dateModified":"2022-11-21T14:47:14+00:00","description":"Rekhit Pachanekar demonstrates how to estimate uncertainty update and extrapolation using Python.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-create-kalman-filter-in-python-part-v\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/how-to-create-kalman-filter-in-python-part-v\/#primaryimage","url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/11\/python.jpg","contentUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/11\/python.jpg","width":900,"height":550,"caption":"Python"},{"@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\/8ab08253f8958ae9552fd7d7b5697370","name":"Rekhit Pachanekar","url":"https:\/\/www.interactivebrokers.com\/campus\/author\/rekhit\/"}]}},"jetpack_featured_media_url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/11\/python.jpg","_links":{"self":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/79991","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\/91"}],"replies":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/comments?post=79991"}],"version-history":[{"count":0,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/79991\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media\/66906"}],"wp:attachment":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media?parent=79991"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/categories?post=79991"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/tags?post=79991"},{"taxonomy":"contributors-categories","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/contributors-categories?post=79991"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}