{"id":151292,"date":"2022-08-09T10:55:00","date_gmt":"2022-08-09T14:55:00","guid":{"rendered":"https:\/\/ibkrcampus.com\/?p=151292"},"modified":"2023-11-03T14:38:00","modified_gmt":"2023-11-03T18:38:00","slug":"back-testing-on-ibkr-with-backtrader-part-i","status":"publish","type":"post","link":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/back-testing-on-ibkr-with-backtrader-part-i\/","title":{"rendered":"Back Testing on IBKR with BackTrader &#8211; Part I"},"content":{"rendered":"\n<p><em>This post is a part of the series &#8220;Building Your Automated Strategy with IBKR: From Back Testing to Paper Trading to Live Execution&#8221;<\/em>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-back-testing-basics\">Back Testing Basics&nbsp;<\/h2>\n\n\n\n<p>Backtesting assesses the viability of a trading strategy by discovering how it performed using historical data. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-backtrader-an-open-source-backtesting-framework\">Backtrader &#8211; An Open Source Backtesting Framework<\/h2>\n\n\n\n<p>Backtrader is a Python library that allows backtesting and strategy development before live trading. (see:&nbsp;<a href=\"https:\/\/www.backtrader.com\/docu\/\">https:\/\/www.backtrader.com\/docu\/<\/a>) .<\/p>\n\n\n\n<p>It is an open-source framework that enables strategy testing using historical data. Furthermore, it can be used to optimize strategies, create visual plots, and can also be used as a trading engine for actual trading in the market. It has an active community providing support and help for people using the platform (see: <a href=\"https:\/\/community.backtrader.com\">https:\/\/community.backtrader.com<\/a>)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-backtrader-and-interactive-brokers\">Backtrader and Interactive Brokers<\/h2>\n\n\n\n<p>Backtrader has a robust integration with Interactive Brokers for historical data, paper trading and live trading. But the current implementation has not been updated for many years.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-an-updated-integration-for-interactive-brokers\">An Updated Integration for Interactive Brokers<\/h2>\n\n\n\n<p>This article presents an updated integration, and describes how it can be seamlessly installed into Backtrader so that it can be used with the latest version of the IB Native API.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-is-the-ib-tws-api\">What is the IB TWS API?<\/h2>\n\n\n\n<p>The Interactive Brokers Python TWS API allows you to trade via a running TWS (or IB Gateway) using Python code.<\/p>\n\n\n\n<p>Acting as a bridge, the API allows for sending of orders from custom software or scripts, receiving live or historical data. Note that all the orders are reflected in the TWS frontend.<\/p>\n\n\n\n<p>See:&nbsp;<a href=\"\/campus\/ibkr-quant-news\/python-and-the-ibkr-tws-api\/\">\/campus\/ibkr-quant-news\/python-and-the-ibkr-tws-api\/<\/a>&nbsp;for more information<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-system-workflow\">System Workflow<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"814\" height=\"137\" data-src=\"\/campus\/wp-content\/uploads\/sites\/2\/2022\/08\/Back-Testing-IBKR-BackTrader-updated.png.jpg\" alt=\"\" class=\"wp-image-152290 lazyload\" data-srcset=\"https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2022\/08\/Back-Testing-IBKR-BackTrader-updated.png.jpg 814w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2022\/08\/Back-Testing-IBKR-BackTrader-updated.png-700x118.jpg 700w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2022\/08\/Back-Testing-IBKR-BackTrader-updated.png-300x50.jpg 300w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2022\/08\/Back-Testing-IBKR-BackTrader-updated.png-768x129.jpg 768w\" data-sizes=\"(max-width: 814px) 100vw, 814px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 814px; aspect-ratio: 814\/137;\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-getting-started\">Getting Started<\/h2>\n\n\n\n<p>There are four basic steps to getting started:<\/p>\n\n\n\n<ol class=\"wp-block-list\" type=\"1\">\n<li>Open an account with IB and setup the trading frontend (TWS or IB Gateway)&nbsp;<\/li>\n\n\n\n<li>Download and install the IB TWS API&nbsp;<\/li>\n\n\n\n<li>Down and install BackTrader<\/li>\n\n\n\n<li>Update default IB integration built into Backtrader<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-signup-download-and-install-the-ib-tws-frontend-tws-api\"><a><\/a>Signup, Download and Install the IB TWS Frontend\/TWS API<\/h2>\n\n\n\n<p>Open the account at Interactive Brokers (using <a href=\"https:\/\/www.interactivebrokers.com\/en\/pagemap\/pagemap_newaccounts_v3.php\">https:\/\/www.interactivebrokers.com\/en\/pagemap\/pagemap_newaccounts_v3.php<\/a>) and download and install TWS.<\/p>\n\n\n\n<p>You can download the TWS API by navigating to&nbsp;<strong>Technology&nbsp;<\/strong>\u2013&nbsp;<strong>Trading APIs<\/strong>&nbsp;\u2013&nbsp;<strong>Get API Software<\/strong>, or by following this link \u2013&nbsp;<a href=\"https:\/\/interactivebrokers.github.io\/\">https:\/\/interactivebrokers.github.io\/<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-installing-the-tws-api\">Installing the TWS API&nbsp;<\/h2>\n\n\n\n<p>Create a directory named back_testing, and copy the downloaded file twsapi_macunix.1016.10.zip into this directory, unzip and it will create the IBJts directory.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large img-twothird\"><img src=\/campus\/wp-content\/uploads\/sites\/2\/2022\/08\/Back-Testing-IBKR-BackTrader-2.png alt=\"\" class=\"wp-image-151591\"><\/figure>\n\n\n\n<p><strong>Create And Enable A Python Virtual Environment within the back_testing directory<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>python3 -m venv .\/env\nsource .\/env\/bin\/activate\n<\/code><\/pre>\n\n\n\n<p>Drill down to the directory&nbsp;<strong>back_testing\/IBJts\/source\/pythonclient<\/strong>&nbsp;and run:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\tpython setup.py install<\/code><\/pre>\n\n\n\n<p>To check if it is installed correctly, open a Python terminal and type:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Python 3.8.10 (default, Jun 22 2022, 20:18:18) \n&#91;GCC 9.4.0] on linux\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>Type \"help\", \"copyright\", \"credits\" or \"license\" for more information.<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>&gt;&gt;&gt; import ibapi\n&gt;&gt;&gt; \n<\/code><\/pre>\n\n\n\n<p>If no errors appear, the install was successful!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-download-and-install-backtrader\">Download and Install BackTrader<\/h2>\n\n\n\n<p>There is no special requirement for installing the BackTrader library. It also doesn\u2019t have any dependencies. You can install this library by using the package manager \u201cpip\u201d.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\tpip install backtrader<\/code><\/pre>\n\n\n\n<p>Now you can use backtrader with its full functionality.<\/p>\n\n\n\n<p>To check if it is installed correctly open a Python terminal and type:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Python 3.8.10 (default, Jun 22 2022, 20:18:18) \n&#91;GCC 9.4.0] on linux<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>Type \"help\", \"copyright\", \"credits\" or \"license\" for more information.<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>&gt;&gt;&gt; Import backtrader as bt<\/code><\/pre>\n\n\n\n<p>If no errors appear, the install was successful.<\/p>\n\n\n\n<p><strong>Download and Install the updated IB TWS integration<\/strong><\/p>\n\n\n\n<p>Either clone the github repo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>git clone https:\/\/github.com\/atreyuxtrading\/atreyu-backtrader-api.git <\/code><\/pre>\n\n\n\n<p>Or download a released version:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wget https:\/\/github.com\/atreyuxtrading\/atreyu-backtrader-api\/archive\/refs\/tags\/v1.0.zip<\/code><\/pre>\n\n\n\n<p>Unzip file, and install the Atreyu Backtrader API.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>unzip v1.0.zip<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>cd atreyu-backtrader-api-1.0 ; python setup.py install<\/code><\/pre>\n\n\n\n<p><strong>Check Settings of Locally Running TWS&nbsp;<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"414\" height=\"234\" data-src=\"\/campus\/wp-content\/uploads\/sites\/2\/2022\/08\/Check-Settings-Locally-Running-TWS-.png\" alt=\"\" class=\"wp-image-151614 lazyload\" data-srcset=\"https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2022\/08\/Check-Settings-Locally-Running-TWS-.png 414w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2022\/08\/Check-Settings-Locally-Running-TWS--300x170.png 300w\" data-sizes=\"(max-width: 414px) 100vw, 414px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 414px; aspect-ratio: 414\/234;\" \/><\/figure>\n\n\n\n<p><strong>Example: Download Realtime Bar Data from TWS<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"912\" height=\"450\" data-src=\"\/campus\/wp-content\/uploads\/sites\/2\/2022\/08\/Example-Download-Realtime-Bar-Data-from-TWS.png\" alt=\"\" class=\"wp-image-151616 lazyload\" data-srcset=\"https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2022\/08\/Example-Download-Realtime-Bar-Data-from-TWS.png 912w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2022\/08\/Example-Download-Realtime-Bar-Data-from-TWS-700x345.png 700w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2022\/08\/Example-Download-Realtime-Bar-Data-from-TWS-300x148.png 300w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2022\/08\/Example-Download-Realtime-Bar-Data-from-TWS-768x379.png 768w\" data-sizes=\"(max-width: 912px) 100vw, 912px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 912px; aspect-ratio: 912\/450;\" \/><\/figure>\n\n\n\n<p><em>Stay tuned for the next installment in this series to learn how to set up Backtrader with the latest TWS API.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Backtrader has a robust integration with Interactive Brokers for historical data, paper trading and live trading.<\/p>\n","protected":false},"author":890,"featured_media":151297,"comment_status":"closed","ping_status":"open","sticky":true,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[339,340,343,349,338,350,341,351,352,344,2197],"tags":[4873,11809,865,575,595],"contributors-categories":[13853],"class_list":{"0":"post-151292","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-asia-pacific","13":"category-quant-development","14":"category-quant-europe","15":"category-quant-north-america","16":"category-quant-regions","17":"category-quant-south-america","18":"tag-backtesting","19":"tag-backtrader","20":"tag-github","21":"tag-ibkr-api","22":"tag-python","23":"contributors-categories-atreyu-trading-services"},"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.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Back Testing on IBKR with BackTrader &#8211; Part I<\/title>\n<meta name=\"description\" content=\"Backtrader has a robust integration with Interactive Brokers for historical data, paper trading and live trading.\" \/>\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\/151292\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Back Testing on IBKR with BackTrader - Part I - IBKR Quant Blog\" \/>\n<meta property=\"og:description\" content=\"Backtrader has a robust integration with Interactive Brokers for historical data, paper trading and live trading.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/back-testing-on-ibkr-with-backtrader-part-i\/\" \/>\n<meta property=\"og:site_name\" content=\"IBKR Campus US\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-09T14:55:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-11-03T18:38:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2022\/08\/quant-blue-abstract.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"563\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jogi Narain\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jogi Narain\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 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\\\/back-testing-on-ibkr-with-backtrader-part-i\\\/#article\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/back-testing-on-ibkr-with-backtrader-part-i\\\/\"\n\t            },\n\t            \"author\": {\n\t                \"name\": \"Jogi Narain\",\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/person\\\/8085974e98027a34d1ab53a986c2033e\"\n\t            },\n\t            \"headline\": \"Back Testing on IBKR with BackTrader &#8211; Part I\",\n\t            \"datePublished\": \"2022-08-09T14:55:00+00:00\",\n\t            \"dateModified\": \"2023-11-03T18:38:00+00:00\",\n\t            \"mainEntityOfPage\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/back-testing-on-ibkr-with-backtrader-part-i\\\/\"\n\t            },\n\t            \"wordCount\": 585,\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\\\/back-testing-on-ibkr-with-backtrader-part-i\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/08\\\/quant-blue-abstract.jpg\",\n\t            \"keywords\": [\n\t                \"backtesting\",\n\t                \"Backtrader\",\n\t                \"GitHub\",\n\t                \"IBKR API\",\n\t                \"Python\"\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 Asia Pacific\",\n\t                \"Quant Development\",\n\t                \"Quant Europe\",\n\t                \"Quant North America\",\n\t                \"Quant Regions\",\n\t                \"Quant South America\"\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\\\/back-testing-on-ibkr-with-backtrader-part-i\\\/\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/back-testing-on-ibkr-with-backtrader-part-i\\\/\",\n\t            \"name\": \"Back Testing on IBKR with BackTrader - Part I - 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\\\/back-testing-on-ibkr-with-backtrader-part-i\\\/#primaryimage\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/back-testing-on-ibkr-with-backtrader-part-i\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/08\\\/quant-blue-abstract.jpg\",\n\t            \"datePublished\": \"2022-08-09T14:55:00+00:00\",\n\t            \"dateModified\": \"2023-11-03T18:38:00+00:00\",\n\t            \"description\": \"Backtrader has a robust integration with Interactive Brokers for historical data, paper trading and live trading.\",\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\\\/back-testing-on-ibkr-with-backtrader-part-i\\\/\"\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\\\/back-testing-on-ibkr-with-backtrader-part-i\\\/#primaryimage\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/08\\\/quant-blue-abstract.jpg\",\n\t            \"contentUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/08\\\/quant-blue-abstract.jpg\",\n\t            \"width\": 1000,\n\t            \"height\": 563,\n\t            \"caption\": \"Quant\"\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\\\/8085974e98027a34d1ab53a986c2033e\",\n\t            \"name\": \"Jogi Narain\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/author\\\/jogi-narain\\\/\"\n\t        }\n\t    ]\n\t}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Back Testing on IBKR with BackTrader &#8211; Part I","description":"Backtrader has a robust integration with Interactive Brokers for historical data, paper trading and live trading.","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\/151292\/","og_locale":"en_US","og_type":"article","og_title":"Back Testing on IBKR with BackTrader - Part I - IBKR Quant Blog","og_description":"Backtrader has a robust integration with Interactive Brokers for historical data, paper trading and live trading.","og_url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/back-testing-on-ibkr-with-backtrader-part-i\/","og_site_name":"IBKR Campus US","article_published_time":"2022-08-09T14:55:00+00:00","article_modified_time":"2023-11-03T18:38:00+00:00","og_image":[{"width":1000,"height":563,"url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2022\/08\/quant-blue-abstract.jpg","type":"image\/jpeg"}],"author":"Jogi Narain","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Jogi Narain","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/back-testing-on-ibkr-with-backtrader-part-i\/#article","isPartOf":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/back-testing-on-ibkr-with-backtrader-part-i\/"},"author":{"name":"Jogi Narain","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/person\/8085974e98027a34d1ab53a986c2033e"},"headline":"Back Testing on IBKR with BackTrader &#8211; Part I","datePublished":"2022-08-09T14:55:00+00:00","dateModified":"2023-11-03T18:38:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/back-testing-on-ibkr-with-backtrader-part-i\/"},"wordCount":585,"publisher":{"@id":"https:\/\/ibkrcampus.com\/campus\/#organization"},"image":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/back-testing-on-ibkr-with-backtrader-part-i\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2022\/08\/quant-blue-abstract.jpg","keywords":["backtesting","Backtrader","GitHub","IBKR API","Python"],"articleSection":["Data Science","IBKR API Development","Programming Languages","Python Development","Quant","Quant Asia Pacific","Quant Development","Quant Europe","Quant North America","Quant Regions","Quant South America"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/back-testing-on-ibkr-with-backtrader-part-i\/","url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/back-testing-on-ibkr-with-backtrader-part-i\/","name":"Back Testing on IBKR with BackTrader - Part I - IBKR Quant Blog","isPartOf":{"@id":"https:\/\/ibkrcampus.com\/campus\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/back-testing-on-ibkr-with-backtrader-part-i\/#primaryimage"},"image":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/back-testing-on-ibkr-with-backtrader-part-i\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2022\/08\/quant-blue-abstract.jpg","datePublished":"2022-08-09T14:55:00+00:00","dateModified":"2023-11-03T18:38:00+00:00","description":"Backtrader has a robust integration with Interactive Brokers for historical data, paper trading and live trading.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/back-testing-on-ibkr-with-backtrader-part-i\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/back-testing-on-ibkr-with-backtrader-part-i\/#primaryimage","url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2022\/08\/quant-blue-abstract.jpg","contentUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2022\/08\/quant-blue-abstract.jpg","width":1000,"height":563,"caption":"Quant"},{"@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\/8085974e98027a34d1ab53a986c2033e","name":"Jogi Narain","url":"https:\/\/www.interactivebrokers.com\/campus\/author\/jogi-narain\/"}]}},"jetpack_featured_media_url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2022\/08\/quant-blue-abstract.jpg","_links":{"self":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/151292","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\/890"}],"replies":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/comments?post=151292"}],"version-history":[{"count":0,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/151292\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media\/151297"}],"wp:attachment":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media?parent=151292"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/categories?post=151292"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/tags?post=151292"},{"taxonomy":"contributors-categories","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/contributors-categories?post=151292"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}