{"id":5508,"date":"2019-06-04T09:08:07","date_gmt":"2019-06-04T13:08:07","guid":{"rendered":"https:\/\/ibkrcampus.com\/?p=5508"},"modified":"2024-05-14T11:30:14","modified_gmt":"2024-05-14T15:30:14","slug":"monte-carlo-simulation-in-r-part-ii","status":"publish","type":"post","link":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/monte-carlo-simulation-in-r-part-ii\/","title":{"rendered":"Monte Carlo Simulation in R &#8211; Part II"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em>For a list of R packages, and instructions on how to download the data, see <\/em><a href=\"\/campus\/contributors\/monte-carlo-simulation-in-r-part-i\/\"><em>Part I<\/em><\/a><em>. <\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">That data is now ready to be converted into the cumulative growth of a dollar. We can use either&nbsp;<strong>accumulate()<\/strong>&nbsp;from&nbsp;purrr&nbsp;or&nbsp;<strong>cumprod()<\/strong>. Let\u2019s use both of them with&nbsp;<strong>mutate()<\/strong>&nbsp;and confirm consistent, reasonable results.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">simulated_growth &lt;- \nsimulated_returns_add_1 %>%\n    mutate(growth1 = accumulate(returns, function(x, y) x * y),\n           growth2 = accumulate(returns, `*`),\n           growth3 = cumprod(returns)) %>% \n    select(-returns)\n\ntail(simulated_growth)<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"># A tibble: 6 x 3\n  growth1 growth2 growth3\n          \n1    2.70    2.70    2.70\n2    2.61    2.61    2.61\n3    2.58    2.58    2.58\n4    2.57    2.57    2.57\n5    2.68    2.68    2.68\n6    2.67    2.67    2.67<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">We just ran 3 simulations of dollar growth over 120 months. We passed in the same monthly returns, and that\u2019s why we got 3 equivalent results.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Are they reasonable? What compound annual growth rate (CAGR) is implied by this simulation?<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">cagr &lt;- \n  ((simulated_growth$growth1[nrow(simulated_growth)]^\n      (1\/10)) - 1) * 100\n\ncagr &lt;- round(cagr, 2)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><br>This simulation implies an annual compounded growth of 10.32%. That seems reasonable given our actual returns have all been taken from a raging bull market. Remember, the above code is a simulation based on sampling from a normal distribution. If you re-run this code on your own, you will get a different result.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If we feel good about this first simulation, we can run several more to get a sense for how they are distributed. Before we do that, let\u2019s create several different functions that could run the same simulation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Several Simulation Functions<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s build 3 simulation functions that incorporate the&nbsp;<strong>accumulate()<\/strong>&nbsp;and&nbsp;<strong>cumprod()<\/strong>&nbsp;workflows above. We have confirmed they give consistent results so it\u2019s a matter of stylistic preference as to which one is chosen in the end. Perhaps you feel that one is more flexible or extensible or fits better with your team\u2019s code flows.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Each of the below functions needs 4 arguments: N for the number of months to simulate (we chose 120 above),&nbsp;init_value&nbsp;for the starting value (we used $1 above) and the mean-standard deviation pair to create draws from a normal distribution. We&nbsp;<em>choose<\/em>&nbsp;N and&nbsp;init_value, and derive the mean-standard deviation pair from our portfolio monthly returns.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here is our first growth simulation function using&nbsp;<strong>accumulate()<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">simulation_accum_1 &lt;- function(init_value, N, mean, stdev) {\n    tibble(c(init_value, 1 + rnorm(N, mean, stdev))) %>% \n    `colnames&lt;-`(\"returns\") %>%\n    mutate(growth = \n             accumulate(returns, \n                        function(x, y) x * y)) %>% \n    select(growth)\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Almost identical, here is the second simulation function using&nbsp;<strong>accumulate()<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">simulation_accum_2 &lt;- function(init_value, N, mean, stdev) {\n  tibble(c(init_value, 1 + rnorm(N, mean, stdev))) %>% \n    `colnames&lt;-`(\"returns\") %>%\n  mutate(growth = accumulate(returns, `*`)) %>% \n  select(growth)\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, here is a simulation function using&nbsp;<strong>cumprod()<\/strong>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">simulation_cumprod &lt;- function(init_value, N, mean, stdev) {\n  tibble(c(init_value, 1 + rnorm(N, mean, stdev))) %>% \n    `colnames&lt;-`(\"returns\") %>%\n  mutate(growth = cumprod(returns)) %>% \n  select(growth)\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><br>Here is a function that uses all three methods, in case we want a fast way to re-confirm consistency.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">simulation_confirm_all &lt;- function(init_value, N, mean, stdev) {\n  tibble(c(init_value, 1 + rnorm(N, mean, stdev))) %>% \n    `colnames&lt;-`(\"returns\") %>%\n    mutate(growth1 = accumulate(returns, function(x, y) x * y),\n           growth2 = accumulate(returns, `*`),\n           growth3 = cumprod(returns)) %>% \n    select(-returns)\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Let\u2019s test that&nbsp;<strong>confirm_all()<\/strong>&nbsp;function with an&nbsp;<strong>init_value<\/strong>&nbsp;of 1, N of 120, and our parameters.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">simulation_confirm_all_test &lt;- \n  simulation_confirm_all(1, 120, \n                         mean_port_return, stddev_port_return)\n\ntail(simulation_confirm_all_test)<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"># A tibble: 6 x 3\n  growth1 growth2 growth3\n          \n1    2.93    2.93    2.93\n2    2.89    2.89    2.89\n3    3.01    3.01    3.01\n4    3.18    3.18    3.18\n5    3.21    3.21    3.21\n6    3.31    3.31    3.31<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">We\u2019re ready to visualize!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Jonathan Regenstein, Director of Financial Services, RStudio. <\/em><br><em><a rel=\"noreferrer noopener\" href=\"https:\/\/twitter.com\/jkregenstein\" target=\"_blank\">@jkregenstein<\/a>&nbsp; <a rel=\"noreferrer noopener\" href=\"https:\/\/twitter.com\/rstudio\" target=\"_blank\">@rstudio<\/a>. For additional R scripts, see the \u201cReproducible Finance with R: Code Flows and Shiny Apps for Portfolio Analysis\u201d<\/em> <em><a href=\"https:\/\/rviews.rstudio.com\/2018\/10\/29\/reproducible-finance-the-book\/\">article<\/a><\/em>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jonathan Regenstein demonstrates running and visualizing Monte Carlo portfolio simulations in R with RStudio.<\/p>\n","protected":false},"author":198,"featured_media":5676,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[338,352,344,342],"tags":[1043,487,508,1044,1045,2536],"contributors-categories":[13650],"class_list":["post-5508","post","type-post","status-publish","format-standard","has-post-thumbnail","category-ibkr-quant-news","category-quant-north-america","category-quant-regions","category-r-development","tag-monte-carlo","tag-r","tag-rstudio","tag-tidyquant","tag-tidyverse","tag-visualization","contributors-categories-rstudio"],"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 v28.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Monte Carlo Simulation in R &#8211; Part II | IBKR Quant<\/title>\n<meta name=\"description\" content=\"Jonathan Regenstein demonstrates running and visualizing Monte Carlo portfolio simulations in R with RStudio.\" \/>\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\/5508\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Monte Carlo Simulation in R - Part II\" \/>\n<meta property=\"og:description\" content=\"Jonathan Regenstein demonstrates running and visualizing Monte Carlo portfolio simulations in R with RStudio.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/monte-carlo-simulation-in-r-part-ii\/\" \/>\n<meta property=\"og:site_name\" content=\"IBKR Campus US\" \/>\n<meta property=\"article:published_time\" content=\"2019-06-04T13:08:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-14T15:30:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/05\/R-article.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"600\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jonathan Regenstein\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jonathan Regenstein\" \/>\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\\\/monte-carlo-simulation-in-r-part-ii\\\/#article\",\n\t            \"isPartOf\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/monte-carlo-simulation-in-r-part-ii\\\/\"\n\t            },\n\t            \"author\": {\n\t                \"name\": \"Jonathan Regenstein\",\n\t                \"@id\": \"https:\\\/\\\/ibkrcampus.com\\\/campus\\\/#\\\/schema\\\/person\\\/9cd381f16f92f1f8cf23b43318d0561e\"\n\t            },\n\t            \"headline\": \"Monte Carlo Simulation in R &#8211; Part II\",\n\t            \"datePublished\": \"2019-06-04T13:08:07+00:00\",\n\t            \"dateModified\": \"2024-05-14T15:30:14+00:00\",\n\t            \"mainEntityOfPage\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/monte-carlo-simulation-in-r-part-ii\\\/\"\n\t            },\n\t            \"wordCount\": 425,\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\\\/monte-carlo-simulation-in-r-part-ii\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2019\\\/05\\\/R-article.jpg\",\n\t            \"keywords\": [\n\t                \"Monte Carlo\",\n\t                \"R\",\n\t                \"RStudio\",\n\t                \"tidyquant\",\n\t                \"tidyverse\",\n\t                \"Visualization\"\n\t            ],\n\t            \"articleSection\": [\n\t                \"Quant\",\n\t                \"Quant North America\",\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\\\/monte-carlo-simulation-in-r-part-ii\\\/\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/monte-carlo-simulation-in-r-part-ii\\\/\",\n\t            \"name\": \"Monte Carlo Simulation in R - Part II\",\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\\\/monte-carlo-simulation-in-r-part-ii\\\/#primaryimage\"\n\t            },\n\t            \"image\": {\n\t                \"@id\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/ibkr-quant-news\\\/monte-carlo-simulation-in-r-part-ii\\\/#primaryimage\"\n\t            },\n\t            \"thumbnailUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2019\\\/05\\\/R-article.jpg\",\n\t            \"datePublished\": \"2019-06-04T13:08:07+00:00\",\n\t            \"dateModified\": \"2024-05-14T15:30:14+00:00\",\n\t            \"description\": \"Jonathan Regenstein demonstrates running and visualizing Monte Carlo portfolio simulations in R with RStudio.\",\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\\\/monte-carlo-simulation-in-r-part-ii\\\/\"\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\\\/monte-carlo-simulation-in-r-part-ii\\\/#primaryimage\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2019\\\/05\\\/R-article.jpg\",\n\t            \"contentUrl\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2019\\\/05\\\/R-article.jpg\",\n\t            \"width\": 600,\n\t            \"height\": 300,\n\t            \"caption\": \"R 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\\\/9cd381f16f92f1f8cf23b43318d0561e\",\n\t            \"name\": \"Jonathan Regenstein\",\n\t            \"description\": \"Jonathan Regenstein - Reproducible Finance by way of Alpha Architect\",\n\t            \"url\": \"https:\\\/\\\/www.interactivebrokers.com\\\/campus\\\/author\\\/jonathanregenstein\\\/\"\n\t        }\n\t    ]\n\t}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Monte Carlo Simulation in R &#8211; Part II | IBKR Quant","description":"Jonathan Regenstein demonstrates running and visualizing Monte Carlo portfolio simulations in R with RStudio.","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\/5508\/","og_locale":"en_US","og_type":"article","og_title":"Monte Carlo Simulation in R - Part II","og_description":"Jonathan Regenstein demonstrates running and visualizing Monte Carlo portfolio simulations in R with RStudio.","og_url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/monte-carlo-simulation-in-r-part-ii\/","og_site_name":"IBKR Campus US","article_published_time":"2019-06-04T13:08:07+00:00","article_modified_time":"2024-05-14T15:30:14+00:00","og_image":[{"width":600,"height":300,"url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/05\/R-article.jpg","type":"image\/jpeg"}],"author":"Jonathan Regenstein","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Jonathan Regenstein","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/monte-carlo-simulation-in-r-part-ii\/#article","isPartOf":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/monte-carlo-simulation-in-r-part-ii\/"},"author":{"name":"Jonathan Regenstein","@id":"https:\/\/ibkrcampus.com\/campus\/#\/schema\/person\/9cd381f16f92f1f8cf23b43318d0561e"},"headline":"Monte Carlo Simulation in R &#8211; Part II","datePublished":"2019-06-04T13:08:07+00:00","dateModified":"2024-05-14T15:30:14+00:00","mainEntityOfPage":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/monte-carlo-simulation-in-r-part-ii\/"},"wordCount":425,"publisher":{"@id":"https:\/\/ibkrcampus.com\/campus\/#organization"},"image":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/monte-carlo-simulation-in-r-part-ii\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/05\/R-article.jpg","keywords":["Monte Carlo","R","RStudio","tidyquant","tidyverse","Visualization"],"articleSection":["Quant","Quant North America","Quant Regions","R Development"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/monte-carlo-simulation-in-r-part-ii\/","url":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/monte-carlo-simulation-in-r-part-ii\/","name":"Monte Carlo Simulation in R - Part II","isPartOf":{"@id":"https:\/\/ibkrcampus.com\/campus\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/monte-carlo-simulation-in-r-part-ii\/#primaryimage"},"image":{"@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/monte-carlo-simulation-in-r-part-ii\/#primaryimage"},"thumbnailUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/05\/R-article.jpg","datePublished":"2019-06-04T13:08:07+00:00","dateModified":"2024-05-14T15:30:14+00:00","description":"Jonathan Regenstein demonstrates running and visualizing Monte Carlo portfolio simulations in R with RStudio.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/monte-carlo-simulation-in-r-part-ii\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.interactivebrokers.com\/campus\/ibkr-quant-news\/monte-carlo-simulation-in-r-part-ii\/#primaryimage","url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/05\/R-article.jpg","contentUrl":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/05\/R-article.jpg","width":600,"height":300,"caption":"R 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\/9cd381f16f92f1f8cf23b43318d0561e","name":"Jonathan Regenstein","description":"Jonathan Regenstein - Reproducible Finance by way of Alpha Architect","url":"https:\/\/www.interactivebrokers.com\/campus\/author\/jonathanregenstein\/"}]}},"jetpack_featured_media_url":"https:\/\/www.interactivebrokers.com\/campus\/wp-content\/uploads\/sites\/2\/2019\/05\/R-article.jpg","_links":{"self":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/5508","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\/198"}],"replies":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/comments?post=5508"}],"version-history":[{"count":0,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/posts\/5508\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media\/5676"}],"wp:attachment":[{"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/media?parent=5508"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/categories?post=5508"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/tags?post=5508"},{"taxonomy":"contributors-categories","embeddable":true,"href":"https:\/\/ibkrcampus.com\/campus\/wp-json\/wp\/v2\/contributors-categories?post=5508"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}