{"id":19303,"date":"2019-09-24T10:17:55","date_gmt":"2019-09-24T14:17:55","guid":{"rendered":"https:\/\/ibkrcampus.com\/?p=19303"},"modified":"2022-11-21T09:44:15","modified_gmt":"2022-11-21T14:44:15","slug":"neural-network-python-gradient-descent","status":"publish","type":"post","link":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/neural-network-python-gradient-descent\/","title":{"rendered":"Neural Network In Python: Introduction, Structure And Trading Strategies \u2013 Part IV"},"content":{"rendered":"\n<p><em>In the previous <\/em><a href=\"\/campus\/ibkr-quant-news\/neural-network-in-python-part-iii\/\"><em>installment<\/em><\/a><em>, Devang Singh discussed how to train the Neural Network. In today&#8217;s post, Devang will demonstrate the concept of <\/em><strong><em>Gradient Descent<\/em><\/strong><em>.<\/em><br><\/p>\n\n\n\n<p>Gradient Descent involves analyzing the slope of the curve of the cost function. Based on the slope, we adjust the weights to minimize the cost function in steps rather than computing the values for all possible combinations.&nbsp;<\/p>\n\n\n\n<p>Visualizations of Gradient Descent are shown in the diagrams below. The first plot is a single value of weights and hence is two dimensional. It can be seen that the red ball moves in a zig-zag pattern to arrive at the minimum of the cost function.&nbsp;<\/p>\n\n\n\n<p>In the second diagram, we have to adjust two weights in order to minimize the cost function. Therefore, we can visualize it as a contour, as shown in the graph, where we are moving in the direction of the steepest slope in order to reach the minima in the shortest duration. With this approach, we do not have to do many computations, and as a result, the computations do not take very long, making the training of the model a feasible task.<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" data-src=\"https:\/\/d1rwhvwstyk9gu.cloudfront.net\/2019\/09\/gradient-descent-1.jpg\" alt=\"gradient descent\" width=\"256\" height=\"189\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 256px; aspect-ratio: 256\/189;\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img decoding=\"async\" data-src=\"https:\/\/d1rwhvwstyk9gu.cloudfront.net\/2019\/09\/gradient-descent-2.jpg\" alt=\"gradient descent\" width=\"256\" height=\"189\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" style=\"--smush-placeholder-width: 256px; aspect-ratio: 256\/189;\" \/><\/figure>\n\n\n\n<p>Gradient Descent can be done in three possible ways,&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>batch gradient descent<\/li><li>stochastic gradient descent<\/li><li>mini-batch gradient descent<\/li><\/ul>\n\n\n\n<p>In batch gradient descent, the cost function is computed by summing all the individual cost functions in the training dataset and then computing the slope and adjusting the weights.<\/p>\n\n\n\n<p>In stochastic gradient descent, the slope of the cost function and the adjustments of weights are done after each data entry in the training dataset. This is extremely useful to avoid getting stuck at a local minima if the curve of the cost function is not strictly convex. Each time you run the stochastic gradient descent, the process to arrive at the global minima will be different. Batch gradient descent may result in getting stuck with a suboptimal result if it stops at local minima.&nbsp;<\/p>\n\n\n\n<p>The third type is the mini-batch gradient descent, which is a combination of the batch and stochastic methods. Here, we create different batches by clubbing together multiple data entries in one batch. This essentially results in implementing the stochastic gradient descent on bigger batches of data entries in the training dataset.&nbsp;<\/p>\n\n\n\n<p><em>In the next installment, Devang will discuss how backpropagation works to adjust the weights according to the error which had been generated.<\/em> <em>Visit&nbsp;<\/em><a href=\"https:\/\/blog.quantinsti.com\/\"><em>QuantInsti<\/em><\/a><em>&nbsp;website to download the sample code.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Gradient Descent involves analyzing the slope of the curve of the cost function. Based on the slope we adjust the weights, to minimize the cost function in steps rather than computing the values for all possible combinations. <\/p>\n","protected":false},"author":251,"featured_media":19357,"comment_status":"closed","ping_status":"open","sticky":true,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[339,343,349,338,350,341,344],"tags":[851,4087,4225,2105,2697,4227,852,4226,3866,595,4224],"contributors-categories":[13654],"class_list":{"0":"post-19303","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-data-science","8":"category-programing-languages","9":"category-python-development","10":"category-ibkr-quant-news","11":"category-quant-asia-pacific","12":"category-quant-development","13":"category-quant-regions","14":"tag-algo-trading","15":"tag-backpropagation","16":"tag-batch-gradient-descent","17":"tag-deep-learning","18":"tag-deep-neural-networks","19":"tag-gradient-descent","20":"tag-machine-learning","21":"tag-mini-batch-gradient-descent","22":"tag-neuron","23":"tag-python","24":"tag-stochastic-gradient-descent","25":"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.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Neural Network In Python: Introduction, Structure And Trading Strategies \u2013 Part IV<\/title>\n<meta name=\"description\" content=\"In this QuantInsti tutorial, Devang uses gradient descent analysis and shows how we adjust the weights, to minimize the cost function.\" \/>\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\/19303\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Neural Network In Python - Gradient Descent - IBKR Quant Blog\" \/>\n<meta property=\"og:description\" content=\"In this QuantInsti tutorial, Devang uses gradient descent analysis and shows how we adjust the weights, to minimize the cost function.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/neural-network-python-gradient-descent\/\" \/>\n<meta property=\"og:site_name\" content=\"IBKR Campus US\" \/>\n<meta property=\"article:published_time\" content=\"2019-09-24T14:17:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-21T14:44:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/09\/python-quant-blog.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1150\" \/>\n\t<meta property=\"og:image:height\" content=\"700\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Devang Singh\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Devang Singh\" \/>\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\\\/neural-network-python-gradient-descent\\\/#article\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/neural-network-python-gradient-descent\\\/\"\n\t            },\n\t            \"author\": {\n\t                \"name\": \"Devang Singh\",\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/person\\\/e3e144de3dc01a5e3d3b01449fb26629\"\n\t            },\n\t            \"headline\": \"Neural Network In Python: Introduction, Structure And Trading Strategies \u2013 Part IV\",\n\t            \"datePublished\": \"2019-09-24T14:17:55+00:00\",\n\t            \"dateModified\": \"2022-11-21T14:44:15+00:00\",\n\t            \"mainEntityOfPage\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/neural-network-python-gradient-descent\\\/\"\n\t            },\n\t            \"wordCount\": 421,\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\\\/neural-network-python-gradient-descent\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2019\\\/09\\\/python-quant-blog.jpg\",\n\t            \"keywords\": [\n\t                \"Algo Trading\",\n\t                \"Backpropagation\",\n\t                \"Batch Gradient Descent\",\n\t                \"Deep Learning\",\n\t                \"Deep Neural Networks\",\n\t                \"Gradient Descent\",\n\t                \"Machine Learning\",\n\t                \"Mini-batch Gradient Descent\",\n\t                \"Neuron\",\n\t                \"Python\",\n\t                \"Stochastic Gradient Descent\"\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\\\/neural-network-python-gradient-descent\\\/\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/neural-network-python-gradient-descent\\\/\",\n\t            \"name\": \"Neural Network In Python - Gradient Descent - 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\\\/neural-network-python-gradient-descent\\\/#primaryimage\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/neural-network-python-gradient-descent\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2019\\\/09\\\/python-quant-blog.jpg\",\n\t            \"datePublished\": \"2019-09-24T14:17:55+00:00\",\n\t            \"dateModified\": \"2022-11-21T14:44:15+00:00\",\n\t            \"description\": \"In this QuantInsti tutorial, Devang uses gradient descent analysis and shows how we adjust the weights, to minimize the cost function.\",\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\\\/neural-network-python-gradient-descent\\\/\"\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\\\/neural-network-python-gradient-descent\\\/#primaryimage\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2019\\\/09\\\/python-quant-blog.jpg\",\n\t            \"contentUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2019\\\/09\\\/python-quant-blog.jpg\",\n\t            \"width\": 1150,\n\t            \"height\": 700,\n\t            \"caption\": \"Python Programming\"\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\\\/e3e144de3dc01a5e3d3b01449fb26629\",\n\t            \"name\": \"Devang Singh\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/author\\\/devangsingh\\\/\"\n\t        }\n\t    ]\n\t}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Neural Network In Python: Introduction, Structure And Trading Strategies \u2013 Part IV","description":"In this QuantInsti tutorial, Devang uses gradient descent analysis and shows how we adjust the weights, to minimize the cost function.","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\/19303\/","og_locale":"en_US","og_type":"article","og_title":"Neural Network In Python - Gradient Descent - IBKR Quant Blog","og_description":"In this QuantInsti tutorial, Devang uses gradient descent analysis and shows how we adjust the weights, to minimize the cost function.","og_url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/neural-network-python-gradient-descent\/","og_site_name":"IBKR Campus US","article_published_time":"2019-09-24T14:17:55+00:00","article_modified_time":"2022-11-21T14:44:15+00:00","og_image":[{"width":1150,"height":700,"url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/09\/python-quant-blog.jpg","type":"image\/jpeg"}],"author":"Devang Singh","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Devang Singh","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/neural-network-python-gradient-descent\/#article","isPartOf":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/neural-network-python-gradient-descent\/"},"author":{"name":"Devang Singh","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/person\/e3e144de3dc01a5e3d3b01449fb26629"},"headline":"Neural Network In Python: Introduction, Structure And Trading Strategies \u2013 Part IV","datePublished":"2019-09-24T14:17:55+00:00","dateModified":"2022-11-21T14:44:15+00:00","mainEntityOfPage":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/neural-network-python-gradient-descent\/"},"wordCount":421,"publisher":{"@id":"https:\/\/ibkrcampus.com\/campus\/#organization"},"image":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/neural-network-python-gradient-descent\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/09\/python-quant-blog.jpg","keywords":["Algo Trading","Backpropagation","Batch Gradient Descent","Deep Learning","Deep Neural Networks","Gradient Descent","Machine Learning","Mini-batch Gradient Descent","Neuron","Python","Stochastic Gradient Descent"],"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\/neural-network-python-gradient-descent\/","url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/neural-network-python-gradient-descent\/","name":"Neural Network In Python - Gradient Descent - IBKR Quant Blog","isPartOf":{"@id":"https:\/\/ibkrcampus.com\/campus\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/neural-network-python-gradient-descent\/#primaryimage"},"image":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/neural-network-python-gradient-descent\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/09\/python-quant-blog.jpg","datePublished":"2019-09-24T14:17:55+00:00","dateModified":"2022-11-21T14:44:15+00:00","description":"In this QuantInsti tutorial, Devang uses gradient descent analysis and shows how we adjust the weights, to minimize the cost function.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/neural-network-python-gradient-descent\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/neural-network-python-gradient-descent\/#primaryimage","url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/09\/python-quant-blog.jpg","contentUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/09\/python-quant-blog.jpg","width":1150,"height":700,"caption":"Python Programming"},{"@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\/e3e144de3dc01a5e3d3b01449fb26629","name":"Devang Singh","url":"https:\/\/www.interactivebrokers.com\/campus\/author\/devangsingh\/"}]}},"jetpack_featured_media_url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/09\/python-quant-blog.jpg","_links":{"self":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/19303","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\/251"}],"replies":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/comments?post=19303"}],"version-history":[{"count":0,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/19303\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media\/19357"}],"wp:attachment":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media?parent=19303"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/categories?post=19303"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/tags?post=19303"},{"taxonomy":"contributors-categories","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/contributors-categories?post=19303"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}