{"id":190194,"date":"2023-05-11T09:57:11","date_gmt":"2023-05-11T13:57:11","guid":{"rendered":"https:\/\/ibkrcampus.com\/?p=190194"},"modified":"2023-05-11T09:58:03","modified_gmt":"2023-05-11T13:58:03","slug":"vectorbt-an-introductory-guide","status":"publish","type":"post","link":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/vectorbt-an-introductory-guide\/","title":{"rendered":"VectorBT &#8211; An Introductory Guide"},"content":{"rendered":"\n<p><em>The article &#8220;VectorBT &#8211; An Introductory Guide&#8221; first appeared on <a href=\"https:\/\/algotrading101.com\/learn\/vectorbt-guide\/\">AlgoTrading101<\/a> blog.<\/em><\/p>\n\n\n\n<p><em>Excerpt<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-is-vectorbt\">What is VectorBT?<\/h2>\n\n\n\n<p>VectorBT is an open-source Python library for quantitative analysis and backtesting.<\/p>\n\n\n\n<p><a>Link:&nbsp;<\/a><a href=\"https:\/\/vectorbt.dev\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/vectorbt.dev\/<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-is-vectorbt-used-for\">What is VectorBT used for?<\/h2>\n\n\n\n<p>VectorBT is used by algorithmic traders and investors to perform quantitative analysis, strategy testing, and research. It is built and optimized for performance and uses NumPy and Numba under the hood.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-why-should-i-use-vectorbt\">Why should I use VectorBT?<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>VectorBT is open-source<\/li>\n\n\n\n<li>VectorBT is easy to use<\/li>\n\n\n\n<li>Is fast<\/li>\n\n\n\n<li>Integrates with Telegram<\/li>\n\n\n\n<li>Offers interactive charting via Jupyter notebooks<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-why-shouldn-t-i-use-vectorbt\">Why shouldn\u2019t I use VectorBT?<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>VectorBT could use more features<\/li>\n\n\n\n<li>It doesn\u2019t have the best documentation<\/li>\n\n\n\n<li>If you want to get serious with VectorBT, you will need to acquire a proprietary VectorBT Pro membership that gives you access to the upgraded library<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-is-vectorbt-free\">Is VectorBT free?<\/h2>\n\n\n\n<p><a>VectorBT is an open-source library and it is free to use. Do keep in mind that there is&nbsp;<\/a><a href=\"https:\/\/vectorbt.pro\/\">VectorBT Pro<\/a>&nbsp;which is a successor of VectorBT and comes with advanced features and performance which is a premium product on an invite-only GitHub basis.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-are-some-vectorbt-alternatives\">What are some VectorBT alternatives?<\/h2>\n\n\n\n<p>VectorBT can be replaced with other software that can be more suitable for your needs. Here are some of them:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a><\/a><a href=\"https:\/\/algotrading101.com\/learn\/quantconnect-guide\/\">QuantConnect<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/algotrading101.com\/learn\/pine-script-tradingview-guide\/\">TradingView (Pine Script)<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/algotrading101.com\/learn\/backtrader-for-backtesting\/\">Backtrader<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/algotrading101.com\/learn\/interactive-brokers-python-api-native-guide\/\">Interactive Brokers<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/algotrading101.com\/learn\/thinkscript-guide\/\">Thikscript<\/a><\/li>\n\n\n\n<li>QuantRocket<\/li>\n\n\n\n<li>HaasOnline<\/li>\n\n\n\n<li>cTrader<\/li>\n\n\n\n<li>Trality, and more<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-how-to-get-started-with-vectorbt\">How to get started with VectorBT?<\/h2>\n\n\n\n<p>To get started with VectorBT, you will need to download the Python library via pip with the following command (you might want to have a new environment):<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">pip install -U vectorbt<\/pre>\n\n\n\n<p>If you want all the dependencies and features that VectorBT has, you will want to run this command:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">pip install -U \"vectorbt[full]\"<\/pre>\n\n\n\n<p>If you are a fan of using Docker for your development, you have the option of spinning up a docker container that hosts a Jupyter Lab with VectorBT inside of it:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">docker run --rm -p 8888:8888 -v \"$PWD\":\/home\/jovyan\/work polakowo\/vectorbt<\/pre>\n\n\n\n<p>The code block above pulls the latest&nbsp;<code>polakowo\/vectorbt<\/code>&nbsp;image from Docker Hub. It then starts a container running a Jupyter Notebook server and exposes the server on host port 8888.<\/p>\n\n\n\n<p>Visiting&nbsp;<code>https:\/\/127.0.0.1:8888\/?token=&lt;token&gt;<\/code>&nbsp;in a browser loads JupyterLab, where the token is the secret token printed in the console.<\/p>\n\n\n\n<p>When you\u2019re done with using the Docker container, Docker destroys the container after the notebook server exit, but any files written to the working directory in the container remain intact in the working directory of the host.<\/p>\n\n\n\n<p><a>I\u2019ll personally use it inside of a&nbsp;<\/a><a href=\"https:\/\/algotrading101.com\/learn\/google-colab-guide\/\">Google Colab<\/a>&nbsp;notebook and install it via pip.<\/p>\n\n\n\n<p>Now that we have VectorBT ready, let us explore in the following headers what it has to offer in terms of features and performance.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to get data with VectorBT?<\/h2>\n\n\n\n<p><a>To get data with VectorBT, you will need to utilize the function that connects to&nbsp;<\/a><a href=\"https:\/\/algotrading101.com\/learn\/yfinance-guide\/\">Yahoo Finance<\/a>&nbsp;to download the data and provide it with the asset you wish to obtain the data. For example, let\u2019s obtain the ETH-USD ticker closing price data:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">eth_price = vbt.YFData.download('ETH-USD').get('Close')\neth_price[:5]<\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Date\n2017-11-09 00:00:00+00:00    320.884003\n2017-11-10 00:00:00+00:00    299.252991\n2017-11-11 00:00:00+00:00    314.681000\n2017-11-12 00:00:00+00:00    307.907990\n2017-11-13 00:00:00+00:00    316.716003\nFreq: D, Name: Close, dtype: float64<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">How to use technical indicators with VectorBT?<\/h2>\n\n\n\n<p>To use technical indicators with VectorBT, you will need to use in-built functions that host indicators such as the MA, MSTD, BBANDS, RSI, and more. For example, let\u2019s calculate a fast and slow MA for ETH and the RSI.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">fast_ma = vbt.MA.run(eth_price, 10)\nslow_ma = vbt.MA.run(eth_price, 50)\nrsi = vbt.RSI.run(eth_price)<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">How to define entries and exists with VectorBT?<\/h2>\n\n\n\n<p>To define entries and exists with VectorBT, all you need to do is to define the logic of those conditions that need to be satisfied in order to be marked as an entry or exit.<\/p>\n\n\n\n<p>For example, let\u2019s define the entry to be when the fast MA crosses the slow MA while the RSI is over 50 and the exit when the slow MA crosses above the fast MA and the RSI is under 50:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">entries = fast_ma.ma_crossed_above(slow_ma) &amp; rsi.rsi_above(50)\nexits = slow_ma.ma_crossed_above(fast_ma) &amp; rsi.rsi_below(50)<\/pre>\n\n\n\n<p>Note that this strategy is just an example and strategies like this almost never work in real-life.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to perform backtesting with VectorBT?<\/h2>\n\n\n\n<p>To perform backtesting with VectorBT, you can use the Portfolio function and its modules to define the trading requirements such as the entry and exit conditions, initial cash, and more. For example, let\u2019s implement our exits and entries from the header above and backtest them:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">pf = vbt.Portfolio.from_signals(eth_price, entries, exits, init_cash=10000)\npf.total_profit()<\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">55760.53<\/pre>\n\n\n\n<p>Let us observe the overall statistics of our simple trading strategy that is only for showcase purposes by running the&nbsp;<code>pf.stats()<\/code>&nbsp;command:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Start                          2017-11-09 00:00:00+00:00\nEnd                            2022-11-07 00:00:00+00:00\nPeriod                                1825 days 00:00:00\nStart Value                                      10000.0\nEnd Value                                   65760.531431\nTotal Return [%]                              557.605314\nBenchmark Return [%]                           393.42466\nMax Gross Exposure [%]                             100.0\nTotal Fees Paid                                      0.0\nMax Drawdown [%]                               61.262033\nMax Drawdown Duration                  513 days 00:00:00\nTotal Trades                                          18\nTotal Closed Trades                                   17\nTotal Open Trades                                      1\nOpen Trade PnL                                1156.40722\nWin Rate [%]                                   41.176471\nBest Trade [%]                                318.026171\nWorst Trade [%]                               -21.805347\nAvg Winning Trade [%]                          71.673003\nAvg Losing Trade [%]                            -10.7351\nAvg Winning Trade Duration    83 days 06:51:25.714285715\nAvg Losing Trade Duration               18 days 14:24:00\nProfit Factor                                   3.388864\nExpectancy                                   3212.007307\nSharpe Ratio                                    0.919382\nCalmar Ratio                                    0.746707\nOmega Ratio                                      1.23331\nSortino Ratio                                   1.378526<\/pre>\n\n\n\n<p><em>Visit <a href=\"https:\/\/algotrading101.com\/learn\/vectorbt-guide\/\">AlgoTrading101<\/a> blog to read the full article.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>VectorBT is an open-source Python library for quantitative analysis and backtesting.<\/p>\n","protected":false},"author":815,"featured_media":60675,"comment_status":"open","ping_status":"closed","sticky":true,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[339,343,349,338,341],"tags":[4873,15277,11956,15276,1225,7391,15275],"contributors-categories":[13746],"class_list":{"0":"post-190194","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-development","12":"tag-backtesting","13":"tag-docker","14":"tag-jupyter-notebooks","15":"tag-numb","16":"tag-numpy","17":"tag-quantitative-analysis","18":"tag-vectorbt","19":"contributors-categories-algotrading101"},"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>VectorBT &#8211; An Introductory Guide | IBKR Quant<\/title>\n<meta name=\"description\" content=\"VectorBT is an open-source Python library for quantitative analysis and backtesting.\" \/>\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\/190194\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"VectorBT - An Introductory Guide | IBKR Campus US\" \/>\n<meta property=\"og:description\" content=\"VectorBT is an open-source Python library for quantitative analysis and backtesting.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/vectorbt-an-introductory-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"IBKR Campus US\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-11T13:57:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-11T13:58:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/09\/globe-tech-green.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=\"Igor Radovanovic\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Igor Radovanovic\" \/>\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\\\/vectorbt-an-introductory-guide\\\/#article\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/vectorbt-an-introductory-guide\\\/\"\n\t            },\n\t            \"author\": {\n\t                \"name\": \"Igor Radovanovic\",\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/person\\\/b43b33f424bad38d84a7b78eb0193592\"\n\t            },\n\t            \"headline\": \"VectorBT &#8211; An Introductory Guide\",\n\t            \"datePublished\": \"2023-05-11T13:57:11+00:00\",\n\t            \"dateModified\": \"2023-05-11T13:58:03+00:00\",\n\t            \"mainEntityOfPage\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/vectorbt-an-introductory-guide\\\/\"\n\t            },\n\t            \"wordCount\": 720,\n\t            \"commentCount\": 4,\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\\\/vectorbt-an-introductory-guide\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2020\\\/09\\\/globe-tech-green.jpg\",\n\t            \"keywords\": [\n\t                \"backtesting\",\n\t                \"Docker\",\n\t                \"Jupyter Notebooks\",\n\t                \"Numb\",\n\t                \"NumPy\",\n\t                \"Quantitative Analysis\",\n\t                \"VectorBT\"\n\t            ],\n\t            \"articleSection\": [\n\t                \"Data Science\",\n\t                \"Programming Languages\",\n\t                \"Python Development\",\n\t                \"Quant\",\n\t                \"Quant Development\"\n\t            ],\n\t            \"inLanguage\": \"en-US\",\n\t            \"potentialAction\": [\n\t                {\n\t                    \"@type\": \"CommentAction\",\n\t                    \"name\": \"Comment\",\n\t                    \"target\": [\n\t                        \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/vectorbt-an-introductory-guide\\\/#respond\"\n\t                    ]\n\t                }\n\t            ]\n\t        },\n\t        {\n\t            \"@type\": \"WebPage\",\n\t            \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/vectorbt-an-introductory-guide\\\/\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/vectorbt-an-introductory-guide\\\/\",\n\t            \"name\": \"VectorBT - An Introductory Guide | IBKR Campus US\",\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\\\/vectorbt-an-introductory-guide\\\/#primaryimage\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/vectorbt-an-introductory-guide\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2020\\\/09\\\/globe-tech-green.jpg\",\n\t            \"datePublished\": \"2023-05-11T13:57:11+00:00\",\n\t            \"dateModified\": \"2023-05-11T13:58:03+00:00\",\n\t            \"description\": \"VectorBT is an open-source Python library for quantitative analysis and backtesting.\",\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\\\/vectorbt-an-introductory-guide\\\/\"\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\\\/vectorbt-an-introductory-guide\\\/#primaryimage\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2020\\\/09\\\/globe-tech-green.jpg\",\n\t            \"contentUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2020\\\/09\\\/globe-tech-green.jpg\",\n\t            \"width\": 900,\n\t            \"height\": 550,\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\\\/b43b33f424bad38d84a7b78eb0193592\",\n\t            \"name\": \"Igor Radovanovic\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/author\\\/igor-radovanovic\\\/\"\n\t        }\n\t    ]\n\t}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"VectorBT &#8211; An Introductory Guide | IBKR Quant","description":"VectorBT is an open-source Python library for quantitative analysis and backtesting.","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\/190194\/","og_locale":"en_US","og_type":"article","og_title":"VectorBT - An Introductory Guide | IBKR Campus US","og_description":"VectorBT is an open-source Python library for quantitative analysis and backtesting.","og_url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/vectorbt-an-introductory-guide\/","og_site_name":"IBKR Campus US","article_published_time":"2023-05-11T13:57:11+00:00","article_modified_time":"2023-05-11T13:58:03+00:00","og_image":[{"width":900,"height":550,"url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/09\/globe-tech-green.jpg","type":"image\/jpeg"}],"author":"Igor Radovanovic","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Igor Radovanovic","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/vectorbt-an-introductory-guide\/#article","isPartOf":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/vectorbt-an-introductory-guide\/"},"author":{"name":"Igor Radovanovic","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/person\/b43b33f424bad38d84a7b78eb0193592"},"headline":"VectorBT &#8211; An Introductory Guide","datePublished":"2023-05-11T13:57:11+00:00","dateModified":"2023-05-11T13:58:03+00:00","mainEntityOfPage":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/vectorbt-an-introductory-guide\/"},"wordCount":720,"commentCount":4,"publisher":{"@id":"https:\/\/ibkrcampus.com\/campus\/#organization"},"image":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/vectorbt-an-introductory-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/09\/globe-tech-green.jpg","keywords":["backtesting","Docker","Jupyter Notebooks","Numb","NumPy","Quantitative Analysis","VectorBT"],"articleSection":["Data Science","Programming Languages","Python Development","Quant","Quant Development"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/vectorbt-an-introductory-guide\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/vectorbt-an-introductory-guide\/","url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/vectorbt-an-introductory-guide\/","name":"VectorBT - An Introductory Guide | IBKR Campus US","isPartOf":{"@id":"https:\/\/ibkrcampus.com\/campus\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/vectorbt-an-introductory-guide\/#primaryimage"},"image":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/vectorbt-an-introductory-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/09\/globe-tech-green.jpg","datePublished":"2023-05-11T13:57:11+00:00","dateModified":"2023-05-11T13:58:03+00:00","description":"VectorBT is an open-source Python library for quantitative analysis and backtesting.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/vectorbt-an-introductory-guide\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/vectorbt-an-introductory-guide\/#primaryimage","url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/09\/globe-tech-green.jpg","contentUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/09\/globe-tech-green.jpg","width":900,"height":550,"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\/b43b33f424bad38d84a7b78eb0193592","name":"Igor Radovanovic","url":"https:\/\/www.interactivebrokers.com\/campus\/author\/igor-radovanovic\/"}]}},"jetpack_featured_media_url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2020\/09\/globe-tech-green.jpg","_links":{"self":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/190194","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\/815"}],"replies":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/comments?post=190194"}],"version-history":[{"count":0,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/190194\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media\/60675"}],"wp:attachment":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media?parent=190194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/categories?post=190194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/tags?post=190194"},{"taxonomy":"contributors-categories","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/contributors-categories?post=190194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}