{"id":114685,"date":"2021-12-08T11:00:34","date_gmt":"2021-12-08T16:00:34","guid":{"rendered":"https:\/\/ibkrcampus.com\/?p=114685"},"modified":"2022-11-21T09:49:54","modified_gmt":"2022-11-21T14:49:54","slug":"introduction-to-julia-part-i","status":"publish","type":"post","link":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/introduction-to-julia-part-i\/","title":{"rendered":"Introduction to Julia &#8211; Part I"},"content":{"rendered":"\n<p>This article introduces the Julia programming language, which is specifically designed for scientific computing, that solves the \u201ctwo-language problem\u201d, i.e. it provides the performance at par with C and the dynamic nature of Python and R.<\/p>\n\n\n\n<p>This series of articles will take you through the journey of getting started with Julia programming to backtesting and implementing live trading strategies in it.<\/p>\n\n\n\n<p>This is the first article in the series and has the following sections &#8211;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>What is Julia?<\/li><li>Why do we need another programming language?<\/li><li>Is Julia faster than Python or R?<\/li><li>How to install Julia?<\/li><li>How to run Julia in a Jupyter notebook?<\/li><li>How to install packages in Julia?<\/li><li>Basic packages in Julia<\/li><li>Julia packages for Algorithmic Trading<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-is-julia\"><strong>What is Julia?<\/strong><\/h2>\n\n\n\n<p>Julia is a high-performance programming language specifically designed for efficient numerical computing. It aims to provide high computational speed combined with an easy-to-write programming language.<\/p>\n\n\n\n<p>Julia project was started in 2009 and was released as an open-source language (under MIT license) through a&nbsp;<a href=\"https:\/\/julialang.org\/blog\/2012\/02\/why-we-created-julia\/\" target=\"_blank\" rel=\"noreferrer noopener\">blog post<\/a>&nbsp;in 2012. Julia 1.0 was released in 2018. The Julia user base has grown widely as the scientific community realised its potential. As of July 2021, Julia has 203,400+ GitHub stars, provides 6000+ registered packages and has over 29 million downloads.<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"why-do-we-need-another-programming-language\"><strong>Why do we need another programming language?<\/strong><\/h2>\n\n\n\n<p>The scientific community has always faced a trade-off between the high-performance vs dynamic nature of programming. Programming languages like Matlab, R or Python are widely used in the scientific community.<\/p>\n\n\n\n<p>However, when it comes to solving challenges that require enormously high computation power, the code has to be re-written in languages like C or Fortran to achieve this goal. This is called the \u201ctwo-language problem\u201d.<\/p>\n\n\n\n<p>Julia claims to solve this challenge by combining the best of both worlds, i.e., speed and easy-to-write language.<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"is-julia-faster-than-python-or-r\"><strong>Is Julia faster than Python or R?<\/strong><\/h2>\n\n\n\n<p>Let\u2019s look at some benchmarks.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"computation-times\">Computation times<\/h3>\n\n\n\n<p>The following figure shows the computation time for various languages on different operations (mentioned in the legend). The vertical axis shows each benchmark time normalised against the C implementation.<\/p>\n\n\n\n<p>As we can see, Julia is closest to C for most of the operations, lagging behind LuaJIT and Rust in some cases. It\u2019s much faster than Python or R. More details on this benchmark test can be found&nbsp;<a href=\"https:\/\/julialang.org\/benchmarks\/\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"720\" height=\"441\" data-src=\"\/campus\/wp-content\/uploads\/sites\/2\/2021\/12\/benchmark1_Julia-1-quantinsti.png\" alt=\"\" class=\"wp-image-114693 lazyload\" data-srcset=\"https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2021\/12\/benchmark1_Julia-1-quantinsti.png 720w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2021\/12\/benchmark1_Julia-1-quantinsti-700x429.png 700w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2021\/12\/benchmark1_Julia-1-quantinsti-300x184.png 300w\" data-sizes=\"(max-width: 720px) 100vw, 720px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 720px; aspect-ratio: 720\/441;\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center\"><em>Source:&nbsp;<a href=\"https:\/\/julialang.org\/benchmarks\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/julialang.org\/benchmarks\/<\/a><\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"multiple-operations-on-large-datasets\">Multiple operations on large datasets<\/h3>\n\n\n\n<p>The below chart compares the task of the&nbsp;<code>groupby<\/code>&nbsp;function across various packages. \u201cQuery 1\u201d in the figure below is one of the tests performed, and DF.jl (a Julia package) turned out to be the fastest. There are many other queries performed&nbsp;<a href=\"https:\/\/h2oai.github.io\/db-benchmark\/\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"720\" height=\"790\" data-src=\"\/campus\/wp-content\/uploads\/sites\/2\/2021\/12\/benchmark2_Julia-1-quantinsti.png\" alt=\"\" class=\"wp-image-114698 lazyload\" data-srcset=\"https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2021\/12\/benchmark2_Julia-1-quantinsti.png 720w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2021\/12\/benchmark2_Julia-1-quantinsti-700x768.png 700w, https:\/\/ibkrcampus.com\/campus\/wp-content\/uploads\/sites\/2\/2021\/12\/benchmark2_Julia-1-quantinsti-300x329.png 300w\" data-sizes=\"(max-width: 720px) 100vw, 720px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 720px; aspect-ratio: 720\/790;\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center\"><em>Source:&nbsp;<a href=\"https:\/\/h2oai.github.io\/db-benchmark\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/h2oai.github.io\/db-benchmark\/<\/a><\/em><\/p>\n\n\n\n<p>For query 1: \u201csum v1 by Id1\u201d: 100 groups of ~10,000,000 rows, Python (pandas package) and R (dplyr package) resulted in an internal error and out of memory error, respectively while Julia took 2.4 seconds the first time and 1.8 seconds the second time.<\/p>\n\n\n\n<p><em>Stay tuned for the next installment in which Anshul Tayal will demonstrate how to install Julia<\/em>.<\/p>\n\n\n\n<p><em>Visit QuantInsti for additional insight on this topic: <a href=\"https:\/\/blog.quantinsti.com\/julia-programming\/\">https:\/\/blog.quantinsti.com\/julia-programming\/<\/a>.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This article introduces the Julia programming language, which is specifically designed for scientific computing, that solves the \u201ctwo-language problem\u201d, i.e. it provides the performance at par with C and the dynamic nature of Python and R.<\/p>\n","protected":false},"author":726,"featured_media":20116,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[339,348,343,349,338,350,341,344,342],"tags":[10764,2535,5038,923,5039,1224,595,487],"contributors-categories":[13654],"class_list":{"0":"post-114685","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-data-science","8":"category-julia-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-regions","15":"category-r-development","16":"tag-c-programming","17":"tag-dplyr","18":"tag-fortran","19":"tag-julia-programming","20":"tag-matlab","21":"tag-pandas","22":"tag-python","23":"tag-r","24":"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.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Introduction to Julia &#8211; Part I | IBKR Quant<\/title>\n<meta name=\"description\" content=\"This article introduces the Julia programming language, which is specifically designed for scientific computing, that solves the \u201ctwo-language...\" \/>\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\/114685\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Introduction to Julia - Part I | IBKR Quant Blog\" \/>\n<meta property=\"og:description\" content=\"This article introduces the Julia programming language, which is specifically designed for scientific computing, that solves the \u201ctwo-language problem\u201d, i.e. it provides the performance at par with C and the dynamic nature of Python and R.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/introduction-to-julia-part-i\/\" \/>\n<meta property=\"og:site_name\" content=\"IBKR Campus US\" \/>\n<meta property=\"article:published_time\" content=\"2021-12-08T16:00:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-11-21T14:49:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/10\/quant-tec-01.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1150\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Anshul Tayal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Anshul Tayal\" \/>\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\\\/introduction-to-julia-part-i\\\/#article\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/introduction-to-julia-part-i\\\/\"\n\t            },\n\t            \"author\": {\n\t                \"name\": \"Anshul Tayal\",\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/person\\\/0245cc6a849222af1786952c9764fb11\"\n\t            },\n\t            \"headline\": \"Introduction to Julia &#8211; Part I\",\n\t            \"datePublished\": \"2021-12-08T16:00:34+00:00\",\n\t            \"dateModified\": \"2022-11-21T14:49:54+00:00\",\n\t            \"mainEntityOfPage\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/introduction-to-julia-part-i\\\/\"\n\t            },\n\t            \"wordCount\": 517,\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\\\/introduction-to-julia-part-i\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2019\\\/10\\\/quant-tec-01.jpg\",\n\t            \"keywords\": [\n\t                \"C Programming\",\n\t                \"dplyr\",\n\t                \"Fortran\",\n\t                \"Julia programming\",\n\t                \"MATLAB\",\n\t                \"Pandas\",\n\t                \"Python\",\n\t                \"R\"\n\t            ],\n\t            \"articleSection\": [\n\t                \"Data Science\",\n\t                \"Julia Development\",\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                \"R Development\"\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\\\/introduction-to-julia-part-i\\\/\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/introduction-to-julia-part-i\\\/\",\n\t            \"name\": \"Introduction to Julia - 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\\\/introduction-to-julia-part-i\\\/#primaryimage\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/introduction-to-julia-part-i\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2019\\\/10\\\/quant-tec-01.jpg\",\n\t            \"datePublished\": \"2021-12-08T16:00:34+00:00\",\n\t            \"dateModified\": \"2022-11-21T14:49:54+00:00\",\n\t            \"description\": \"This article introduces the Julia programming language, which is specifically designed for scientific computing, that solves the \u201ctwo-language problem\u201d, i.e. it provides the performance at par with C and the dynamic nature of Python and R.\",\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\\\/introduction-to-julia-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\\\/introduction-to-julia-part-i\\\/#primaryimage\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2019\\\/10\\\/quant-tec-01.jpg\",\n\t            \"contentUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2019\\\/10\\\/quant-tec-01.jpg\",\n\t            \"width\": 1150,\n\t            \"height\": 720,\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\\\/0245cc6a849222af1786952c9764fb11\",\n\t            \"name\": \"Anshul Tayal\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/author\\\/anshultayal\\\/\"\n\t        }\n\t    ]\n\t}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Introduction to Julia &#8211; Part I | IBKR Quant","description":"This article introduces the Julia programming language, which is specifically designed for scientific computing, that solves the \u201ctwo-language...","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\/114685\/","og_locale":"en_US","og_type":"article","og_title":"Introduction to Julia - Part I | IBKR Quant Blog","og_description":"This article introduces the Julia programming language, which is specifically designed for scientific computing, that solves the \u201ctwo-language problem\u201d, i.e. it provides the performance at par with C and the dynamic nature of Python and R.","og_url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/introduction-to-julia-part-i\/","og_site_name":"IBKR Campus US","article_published_time":"2021-12-08T16:00:34+00:00","article_modified_time":"2022-11-21T14:49:54+00:00","og_image":[{"width":1150,"height":720,"url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/10\/quant-tec-01.jpg","type":"image\/jpeg"}],"author":"Anshul Tayal","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Anshul Tayal","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/introduction-to-julia-part-i\/#article","isPartOf":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/introduction-to-julia-part-i\/"},"author":{"name":"Anshul Tayal","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/person\/0245cc6a849222af1786952c9764fb11"},"headline":"Introduction to Julia &#8211; Part I","datePublished":"2021-12-08T16:00:34+00:00","dateModified":"2022-11-21T14:49:54+00:00","mainEntityOfPage":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/introduction-to-julia-part-i\/"},"wordCount":517,"publisher":{"@id":"https:\/\/ibkrcampus.com\/campus\/#organization"},"image":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/introduction-to-julia-part-i\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/10\/quant-tec-01.jpg","keywords":["C Programming","dplyr","Fortran","Julia programming","MATLAB","Pandas","Python","R"],"articleSection":["Data Science","Julia Development","Programming Languages","Python Development","Quant","Quant Asia Pacific","Quant Development","Quant Regions","R Development"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/introduction-to-julia-part-i\/","url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/introduction-to-julia-part-i\/","name":"Introduction to Julia - Part I | IBKR Quant Blog","isPartOf":{"@id":"https:\/\/ibkrcampus.com\/campus\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/introduction-to-julia-part-i\/#primaryimage"},"image":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/introduction-to-julia-part-i\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/10\/quant-tec-01.jpg","datePublished":"2021-12-08T16:00:34+00:00","dateModified":"2022-11-21T14:49:54+00:00","description":"This article introduces the Julia programming language, which is specifically designed for scientific computing, that solves the \u201ctwo-language problem\u201d, i.e. it provides the performance at par with C and the dynamic nature of Python and R.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/introduction-to-julia-part-i\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/introduction-to-julia-part-i\/#primaryimage","url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/10\/quant-tec-01.jpg","contentUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/10\/quant-tec-01.jpg","width":1150,"height":720,"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\/0245cc6a849222af1786952c9764fb11","name":"Anshul Tayal","url":"https:\/\/www.interactivebrokers.com\/campus\/author\/anshultayal\/"}]}},"jetpack_featured_media_url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/10\/quant-tec-01.jpg","_links":{"self":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/114685","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\/726"}],"replies":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/comments?post=114685"}],"version-history":[{"count":0,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/114685\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media\/20116"}],"wp:attachment":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media?parent=114685"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/categories?post=114685"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/tags?post=114685"},{"taxonomy":"contributors-categories","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/contributors-categories?post=114685"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}