{"id":3680,"date":"2024-11-28T07:05:41","date_gmt":"2024-11-27T22:05:41","guid":{"rendered":"https:\/\/secondlife.lol\/?p=3680"},"modified":"2024-11-28T07:53:39","modified_gmt":"2024-11-27T22:53:39","slug":"dividend-stock-investment-analysis-korean-market","status":"publish","type":"post","link":"https:\/\/secondlife.lol\/ja\/dividend-stock-investment-analysis-korean-market\/","title":{"rendered":"\u914d\u5f53\u682a\u6295\u8cc7\u306e\u9b45\u529b: R\u30b3\u30fc\u30c9\u3067\u77e5\u308b\u97d3\u56fd\u682a\u5f0f\u5e02\u5834\u306e10\u5927\u914d\u5f53\u682a\u306e\u5206\u6790"},"content":{"rendered":"<p class=\"wp-block-paragraph\">\u7686\u3055\u3093\u3001\u3053\u3093\u306b\u3061\u306f\uff01\u4eca\u65e5\u306f\u3068\u3066\u3082\u30a8\u30ad\u30b5\u30a4\u30c6\u30a3\u30f3\u30b0\u306a\u30c6\u30fc\u30de\u3067\u304a\u5c4a\u3051\u3057\u307e\u3059\u3002 \u305d\u308c\u306f\u300c\u914d\u5f53\u91d1\u6295\u8cc7\u300d\u306b\u3064\u3044\u3066\u3067\u3059\u3002 \u7686\u3055\u3093\u3082\u6bce\u6708\u30b3\u30c4\u30b3\u30c4\u3068\u5165\u3063\u3066\u304f\u308b\u914d\u5f53\u91d1\u306e\u9b45\u529b\u306b\u60f9\u304b\u308c\u305f\u3053\u3068\u306f\u3042\u308a\u307e\u305b\u3093\u304b\uff1f\u305d\u308c\u3068\u3082\u3001\u307e\u3060\u914d\u5f53\u91d1\u6295\u8cc7\u304c\u4f55\u306a\u306e\u304b\u3088\u304f\u308f\u304b\u3089\u306a\u3044\u3068\u3044\u3046\u65b9\u3082\u3001\u3054\u5b89\u5fc3\u304f\u3060\u3055\u3044\u3002\u4eca\u65e5\u306e\u8a18\u4e8b\u3092\u8aad\u307f\u7d42\u3048\u305f\u3089\u3001\u914d\u5f53\u682a\u6295\u8cc7\u306e\u4e16\u754c\u306b\u3069\u3063\u3077\u308a\u30cf\u30de\u308b\u3053\u3068\u9593\u9055\u3044\u306a\u3057\uff01\u3055\u3089\u306b\u3001\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u8996\u899a\u5316\u80fd\u529b\u3082\u8eab\u306b\u4ed8\u304f\u3053\u3068\u9593\u9055\u3044\u306a\u3057\u3067\u3059\u3002 <\/p>\n\n\n<style>.kb-image3680_15b00a-3c .kb-image-has-overlay:after{opacity:0.3;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.kb-image3680_15b00a-3c img.kb-img, .kb-image3680_15b00a-3c .kb-img img{border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image3680_15b00a-3c\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"600\" height=\"841\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324270883487966560796936942043-600x841.jpg\" alt=\"\ubc30\ub2f9\uc8fc \ud22c\uc790 - \uc0bc\uc131\uc804\uc790\" class=\"kb-img wp-image-3681\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324270883487966560796936942043-600x841.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324270883487966560796936942043-300x421.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324270883487966560796936942043-768x1076.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324270883487966560796936942043-1096x1536.jpg 1096w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324270883487966560796936942043-9x12.jpg 9w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324270883487966560796936942043.jpg 1200w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><figcaption>( \u914d\u5f53\u682a\u6295\u8cc7 - \u30b5\u30e0\u30b9\u30f3\u96fb\u5b50 )<\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u4eca\u56de\u306e\u8a18\u4e8b\u3067\u306f\u3001R\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3092\u4f7f\u3063\u3066\u97d3\u56fd\u682a\u5f0f\u5e02\u5834\u306e10\u5927\u914d\u5f53\u682a\u3092\u6df1\u304f\u5206\u6790\u3057\u307e\u3059\u3002 \u682a\u4fa1\u306e\u5909\u52d5\u304b\u3089\u914d\u5f53\u5229\u56de\u308a\u3001\u305d\u3057\u3066\u682a\u306e\u30dc\u30e9\u30c6\u30a3\u30ea\u30c6\u30a3\u307e\u3067\uff01\u672c\u5f53\u306b\u5145\u5b9f\u3057\u305f\u60c5\u5831\u3067\u3044\u3063\u3071\u3044\u3067\u3059\u3002\u305d\u308c\u3067\u306f\u3001\u4e00\u7dd2\u306b\u914d\u5f53\u682a\u6295\u8cc7\u306e\u4e16\u754c\u306b\u5165\u308a\u307e\u3057\u3087\u3046\u3002<\/p>\n\n\n<style>.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{padding-top:var(--global-kb-spacing-sm, 1.5rem);padding-right:var(--global-kb-spacing-sm, 1.5rem);padding-bottom:var(--global-kb-spacing-sm, 1.5rem);padding-left:var(--global-kb-spacing-sm, 1.5rem);border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title-wrap{padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title-wrap{color:var(--global-palette2, #2B6CB0);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{color:var(--global-palette2, #2B6CB0);font-size:28px;font-weight:regular;font-style:normal;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap .kb-table-of-content-list{color:var(--global-palette1, #3182CE);line-height:2em;font-weight:regular;font-style:normal;margin-top:var(--global-kb-spacing-sm, 1.5rem);margin-right:0px;margin-bottom:0px;margin-left:0px;}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap .kb-table-of-content-list .kb-table-of-contents__entry:hover{color:var(--global-palette6, #718096);}@media all and (max-width: 1024px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);}}@media all and (max-width: 1024px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{font-size:28px;}}@media all and (max-width: 767px){.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-content-wrap{border-top:3px solid var(--global-palette2, #2B6CB0);border-right:3px solid var(--global-palette2, #2B6CB0);border-bottom:3px solid var(--global-palette2, #2B6CB0);border-left:3px solid var(--global-palette2, #2B6CB0);}.kb-table-of-content-nav.kb-table-of-content-id83_5f28a6-34 .kb-table-of-contents-title{font-size:28px;}}<\/style>\n\n\n<h2 class=\"wp-block-heading\">\u914d\u5f53\u682a\u6295\u8cc7\u3001\u306a\u305c\u9b45\u529b\u7684\u306a\u306e\u304b\uff1f<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u914d\u5f53\u682a\u6295\u8cc7\u306f\u3001\u591a\u304f\u306e\u6295\u8cc7\u5bb6\u306b\u611b\u3055\u308c\u3066\u3044\u308b\u6295\u8cc7\u6226\u7565\u306e\u3072\u3068\u3064\u3067\u3059\u3002 \u306a\u305c\u3067\u3057\u3087\u3046\u304b\uff1f\u305d\u308c\u306f\u3001\u5b89\u5b9a\u3057\u305f\u53ce\u76ca\u304c\u671f\u5f85\u3067\u304d\u308b\u304b\u3089\u3067\u3059\u3002 \u682a\u4fa1\u306e\u4e0a\u4e0b\u3068\u306f\u5225\u306b\u3001\u4f01\u696d\u304c\u5229\u76ca\u306e\u4e00\u90e8\u3092\u682a\u4e3b\u306b\u5206\u914d\u3059\u308b\u306e\u304c\u914d\u5f53\u91d1\u3067\u3059\u3002 \u3053\u306e\u3088\u3046\u306a\u914d\u5f53\u3092\u7d99\u7d9a\u7684\u306b\u53d7\u3051\u53d6\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u682a\u3092\u914d\u5f53\u682a\u3068\u3044\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u3067\u3082\u3001\u597d\u304d\u306a\u9298\u67c4\u3092\u9078\u3093\u3067\u6295\u8cc7\u3059\u308c\u3070\u3044\u3044\u306e\u3067\u3057\u3087\u3046\u304b\uff1f \u305d\u3046\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002 \u826f\u3044\u914d\u5f53\u9298\u67c4\u3092\u9078\u3076\u305f\u3081\u306b\u306f\u3001\u3055\u307e\u3056\u307e\u306a\u8981\u7d20\u3092\u8003\u616e\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002 \u4eca\u65e5\u306fR\u30b3\u30fc\u30c9\u3092\u4f7f\u3063\u3066\u3001R\u30b3\u30fc\u30c9\u3067 <a href=\"https:\/\/finance.naver.com\/sise\/\" target=\"_blank\" rel=\"noopener\">\u97d3\u56fd\u682a\u5f0f\u5e02\u5834<\/a>\u306e\u4ee3\u8868\u7684\u306a10\u306e\u914d\u5f53\u9298\u67c4\u3092\u5206\u6790\u3057\u306a\u304c\u3089\u3001\u3069\u306e\u3088\u3046\u306a\u70b9\u306b\u6ce8\u76ee\u3059\u3079\u304d\u304b\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n\n\n<style>.kb-image3680_10ff39-ed .kb-image-has-overlay:after{opacity:0.3;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.kb-image3680_10ff39-ed img.kb-img, .kb-image3680_10ff39-ed .kb-img img{border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image3680_10ff39-ed\"><figure class=\"aligncenter size-large\"><img decoding=\"async\" width=\"600\" height=\"841\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324272917986561538402097345858-600x841.jpg\" alt=\"SK\ud154\ub808\ucf64\" class=\"kb-img wp-image-3683\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324272917986561538402097345858-600x841.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324272917986561538402097345858-300x421.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324272917986561538402097345858-768x1076.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324272917986561538402097345858-1096x1536.jpg 1096w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324272917986561538402097345858-9x12.jpg 9w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324272917986561538402097345858.jpg 1200w\" sizes=\"(max-width: 600px) 100vw, 600px\" \/><figcaption>( \u914d\u5f53\u682a\u6295\u8cc7 - SK\u30c6\u30ec\u30b3\u30e0 )<\/figcaption><\/figure><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">R\u30b3\u30fc\u30c9\u3067\u914d\u5f53\u682a\u3092\u5206\u6790\u3059\u308b<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u3055\u3066\u3001\u305d\u308d\u305d\u308d\u672c\u683c\u7684\u306bR\u30b3\u30fc\u30c9\u3092\u898b\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002 \u30b3\u30fc\u30c9\u304c\u5c11\u3057\u9577\u304f\u898b\u3048\u307e\u3059\u304c\u3001\u5fc3\u914d\u3057\u306a\u3044\u3067\u304f\u3060\u3055\u3044\u3002\u4e00\u3064\u4e00\u3064\u4e01\u5be7\u306b\u8aac\u660e\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u5fc5\u9808\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u8aad\u307f\u8fbc\u307f\nlibrary(quantmod)\nlibrary(ggplot2)\nlibrary(reshape2)\nlibrary(dplyr)\nlibrary(gridExtra)\nlibrary(scales)\nlibrary(furrr) #\u4e26\u5217\u51e6\u7406\u30e9\u30a4\u30d6\u30e9\u30ea\n\n# \u5206\u6790\u3059\u308b\u682a\u5f0f\u9298\u67c4\u60c5\u5831\u306e\u8a2d\u5b9a\nstocks_info &lt;- data.frame(\n  symbol = c(&quot;005930.KS&quot;, &quot;017670.KS&quot;, &quot;033780.KS&quot;, &quot;000270.KS&quot;, &quot;051910.KS&quot;\u3001\n             &quot;032640.KS&quot;, &quot;030200.KS&quot;, &quot;000810.KS&quot;, &quot;035250.KS&quot;, &quot;316140.KS&quot;)\u3001\n  name = c(&quot;Samsung Electronics&quot;, &quot;SK Telecom&quot;, &quot;KT&quot;, &quot;Kia&quot;, &quot;LG Chem&quot;\u3001\n           &quot;LG Uplus&quot;, &quot;KT&amp;G&quot;, &quot;Samsung Fire&quot;, &quot;POSCO Holdings&quot;, &quot;Woori Financial&quot;)\n)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30b3\u30fc\u30c9\u89e3\u8aac<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u307e\u305a\u3001\u5fc5\u8981\u306aR\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u547c\u3073\u51fa\u3057\u307e\u3059\u3002 \u3053\u308c\u3089\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u306f\u3001\u682a\u5f0f\u30c7\u30fc\u30bf\u53ce\u96c6\u3001\u30c7\u30fc\u30bf\u51e6\u7406\u3001\u53ef\u8996\u5316\u306a\u3069\u306b\u4f7f\u7528\u3055\u308c\u307e\u3059\u3002<\/li>\n\n\n\n<li><code>stocks_info<\/code> \u30c7\u30fc\u30bf\u30d5\u30ec\u30fc\u30e0\u3092\u4f5c\u6210\u3057\u3001\u5206\u6790\u3059\u308b10\u9298\u67c4\u306e\u30b7\u30f3\u30dc\u30eb\u3068\u540d\u524d\u3092\u4fdd\u5b58\u3057\u307e\u3059\u3002\u3053\u308c\u3089\u306e\u4f1a\u793e\u306f\u97d3\u56fd\u8a3c\u5238\u5e02\u5834\u3067\u4ee3\u8868\u7684\u306a\u914d\u5f53\u682a\u3068\u3057\u3066\u77e5\u3089\u308c\u3066\u3044\u308b\u4f01\u696d\u3067\u3059\u3002<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u305d\u308c\u3067\u306f\u3001\u682a\u5f0f\u30c7\u30fc\u30bf\u3092\u53ce\u96c6\u3057\u3066\u5206\u6790\u3059\u308b\u95a2\u6570\u3092\u5b9a\u7fa9\u3057\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u682a\u5f0f\u30c7\u30fc\u30bf\u53ce\u96c6\u95a2\u6570\u306e\u5b9a\u7fa9\nget_stock_data &lt;- function(symbol) { {\n  tryCatch({ {\n    # \u6700\u8fd110\u5e74\u9593\u306e\u30c7\u30fc\u30bf\u53ce\u96c6\n    data &lt;- getSymbols(\n      symbol, src = &quot;yahoo&quot;\u3001\n      from = Sys.Date() - years(10)\u3001\n      to = Sys.Date()\u3001\n      auto.assign = FALSE\n    )\n\n    # \u30c7\u30fc\u30bf\u30c1\u30a7\u30c3\u30af\n    if (is.null(data)) stop(&quot;No data retrieved.&quot;)\n\n    # \u73fe\u5728\u306e\u65e5\u4ed8\u4ee5\u964d\u306e\u30c7\u30fc\u30bf\u524a\u9664\n    data &lt;- data[index(data) &lt;= Sys.Date()]].\n\n    # \u5e74\u9593\u30c7\u30fc\u30bf\u306b\u5909\u63db\n    annual_close &lt;- to.yearly(Cl(data))\n    annual_open &lt;- to.yearly(Op(data))\n    annual_high &lt;- to.yearly(Hi(data))\n    annual_low &lt;- to.yearly(Lo(data))\n    annual_volume &lt;- to.yearly(Vo(data))\n\n    #\u306e\u914d\u5f53\u91d1\u51e6\u7406(\u306a\u3044\u5834\u5408\u306f0\u3067\u57cb\u3081\u308b)\n    annual_dividends &lt;- if (&quot;\u914d\u5f53\u91d1&quot; %in% colnames(data)) {\n      to.yearly(data$Dividends)\n    } else {\n      xts(rep(0, nrow(annual_close)), order.by = index(annual_close))\n    }\n\n    cbind(annual_open, annual_high, annual_low, annual_close\u3001\n          annual_volume, annual_dividends)\n  }, error = function(e) {\n    warning(paste(&quot;Data fetch failed for&quot;, symbol, &quot;:&quot;, e$message))\n    return(NULL)\n  })\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30b3\u30fc\u30c9\u89e3\u8aac<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><code>get_stock_data<\/code> \u95a2\u6570\u306f\u3001\u6307\u5b9a\u3055\u308c\u305f\u682a\u5f0f\u30b7\u30f3\u30dc\u30eb\u306b\u3064\u3044\u3066\u3001Yahoo Finance\u304b\u3089\u6700\u8fd110\u5e74\u9593\u306e\u30c7\u30fc\u30bf\u3092\u53d6\u5f97\u3057\u307e\u3059\u3002<\/li>\n\n\n\n<li>\u30c7\u30fc\u30bf\u3092\u5e74\u5358\u4f4d\u3067\u5909\u63db\u3057\u3001\u59cb\u5024\u3001\u9ad8\u5024\u3001\u5b89\u5024\u3001\u7d42\u5024\u3001\u53d6\u5f15\u91cf\u3001\u914d\u5f53\u60c5\u5831\u3092\u542b\u307f\u307e\u3059\u3002<\/li>\n\n\n\n<li>\u30a8\u30e9\u30fc\u51e6\u7406\u306b\u3088\u308a\u3001\u30c7\u30fc\u30bf\u53ce\u96c6\u306b\u5931\u6557\u3057\u3066\u3082\u30d7\u30ed\u30b0\u30e9\u30e0\u304c\u4e2d\u65ad\u3055\u308c\u306a\u3044\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u3046\u3057\u3066\u53ce\u96c6\u3057\u305f\u30c7\u30fc\u30bf\u3092\u8996\u899a\u5316\u3059\u308b\u95a2\u6570\u3082\u4f5c\u3063\u3066\u307f\u307e\u3057\u3087\u3046\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u30c7\u30fc\u30bf\u53ef\u8996\u5316\u95a2\u6570\nplot_stock_data &lt;- function(data, stock_info) { { if (is.is.null(data) { )\n  if (is.null(data)) { {\n    warning(paste(&quot;No data available for&quot;, stock_info$name))\n    return(NULL)\n  }\n\n  #\u30c7\u30fc\u30bf\u30d5\u30ec\u30fc\u30e0\u751f\u6210\u53ca\u3073\u6307\u6a19\u8a08\u7b97\n  df %\n    mutate(\n      DividendYield = (Dividends \/ Close) * 100, #\u306e\u914d\u5f53\u5229\u56de\u308a\n      AnnualReturn = (Close \/ lag(Close) - 1)* 100, # \u5e74\u9593\u53ce\u76ca\u7387\n      VolatilityRange = High - Low #\u306e\u30dc\u30e9\u30c6\u30a3\u30ea\u30c6\u30a3\u7bc4\u56f2\n    )\n\n  # NA\u5024\u3092\u524a\u9664\n  df &lt;- na.omit(df)\n\n  # \u6700\u65b0\u30c8\u30ec\u30f3\u30c9\u30ab\u30e9\u30fc\u3092\u9069\u7528\n  close_color &lt;- &quot;#1f77b4&quot;\n  dividend_color &lt;- &quot;#2ca02c&quot;\n  return_color &lt;- &quot;#d62728&quot;\n  volatility_color &lt;- &quot;#9467bd&quot;\n  volume_color &lt;- &quot;#8c564b&quot;\n\n  #\u306e\u682a\u4fa1\u3068\u53d6\u5f15\u91cf\u30c1\u30e3\u30fc\u30c8\u3092\u4f5c\u6210\u3059\u308b\n  p1 &lt;- ggplot(df, aes(x = Year)) + p1 &lt;- ggplot(df, aes(x = Year))\n    geom_line(aes(aes(y = Close), color = close_color, size = 1) + + geom_line(aes(y = Close), color = close_color, size = 1)\n    geom_point(aes(aes(y = Close), color = close_color) + geom_point(aes(y = Close), size = 1)\n    geom_text(aes(y = Close, label = round(Close, 0))\u3001\n              vjust = -0.6, size = 3) + vjust(vjust = -0.6, size = 3)\n    geom_col(aes(y = Volume\/max(Volume, na.rm = TRUE) * max(Close, na.rm = TRUE))\u3001\n             fill = volume_color, alpha = 0.3) +\n    scale_y_continuous(\n      name = &quot;\u4fa1\u683c (\u5186)&quot;\u3001\n      labels = scales::comma\u3001\n      sec.axis = sec_axis(~.\/max(df$Close, na.rm = TRUE) * max(df$Volume, na.rm = TRUE)\u3001\n                          name = &quot;\u30dc\u30ea\u30e5\u30fc\u30e0&quot;)\u3001\n      expand = expansion(mult = c(0.05, 0.1))\n    ) + \u2191...\n    labs(title = paste(stock_info$name, &quot;(&quot;, stock_info$symbol, &quot;)&quot;)\u3001\n         subtitle = &quot;\u5e74\u9593\u58f2\u8cb7\u4ee3\u91d1\u3068\u51fa\u6765\u9ad8&quot;) +\n    theme_minimal() +\n    theme(\n      plot.title = element_text(size = 14, face = &quot;bold&quot;)\u3001\n      axis.title = element_text(size = 10)\u3001\n      legend.position = &quot;bottom&quot;\n    )\n\n  #\u306e\u53ce\u76ca\u7387\u30c1\u30e3\u30fc\u30c8\u3092\u4f5c\u6210\n  p2 &lt;- ggplot(df, aes(x = Year)) + + p2 &lt;- ggplot(df, aes(x = Year))\n    geom_line(aes(y = DividendYield, color = &quot;Dividend Yield&quot;), size = 1) + + geom_line(aes(y = DividendYield, color = &quot;Dividend Yield&quot;), size = 1)\n    geom_point(aes(aes(y = DividendYield), color = dividend_color) + geom_point(aes(y = DividendYield), size = 1)\n    geom_text(aes(y = DividendYield, label = round(DividendYield, 1))\u3001\n              color = dividend_color, vjust = -0.6, size = 3) + geom_line(aes(y = DividendYield, label = round(DividendYield, 3))\n    geom_line(aes(aes(y = AnnualReturn, color = &quot;AnnualReturn&quot;), size = 1) +\n    geom_point(aes(aes(y = AnnualReturn), color = return_color) + geom_text(aes(y = AnnualReturn), vjust = -0.6) + size = 1)\n    geom_text(aes(y = AnnualReturn, label = round(AnnualReturn, 1))\u3001\n              color = return_color, vjust = 1.5, size = 3) +\n    scale_color_manual(values = c(&quot;\u914d\u5f53\u5229\u56de\u308a&quot; = dividend_color\u3001\n                                  &quot;\u5e74\u9593\u30ea\u30bf\u30fc\u30f3&quot; = return_color)) +\n    labs(y = &quot;\u30ec\u30fc\u30c8(%)&quot;, color = &quot;\u30e1\u30c8\u30ea\u30af\u30b9&quot;) +\n    scale_y_continuous(expand = expansion(mult = c(0.05, 0.1)) +\n    theme_minimal() + theme_minimal()\n    theme(legend.position = &quot;bottom&quot;)\n\n  # \u30dc\u30e9\u30c6\u30a3\u30ea\u30c6\u30a3\u30c1\u30e3\u30fc\u30c8\u4f5c\u6210\n  p3 &lt;- ggplot(df, aes(x = Year, y = VolatilityRange)) + p3 &lt;- ggplot(df, aes(x = Year, y = VolatilityRange)) + geom_line()\n    geom_line(color = volatility_color, size = 1) + + geom_line(color = volatility_color, size = 1)\n    geom_point(color = volatility_color) + geom_line(color = volatility_color, size = 1) + geom_line(size = 1)\n    geom_text(aes(label = round(VolatilityRange, 0))\u3001\n              vjust = -0.6, size = 3, color = volatility_color) +\n    labs(y = &quot;\u30dc\u30e9\u30c6\u30a3\u30ea\u30c6\u30a3\u30ec\u30f3\u30b8(High-Low)&quot;) +\n    scale_y_continuous(labels = scales::comma\u3001\n                       expand = expansion(mult = c(0.05, 0.1))) + expand = expansion(mult = c(0.05, 0.1)) +\n    theme_minimal()\n\n  # \u30c1\u30e3\u30fc\u30c8\u306e\u914d\u7f6e\n  gridExtra::grid.arrange(p1, p2, p3, ncol = 1\u3001\n                          heights = c(1.2, 1, 1))\n} }<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30b3\u30fc\u30c9\u89e3\u8aac<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">1. <code>plot_stock_data<\/code> \u95a2\u6570\u306f\u682a\u5f0f\u30c7\u30fc\u30bf\u3092\u53d7\u3051\u53d6\u308a\u30013\u3064\u306e\u30c1\u30e3\u30fc\u30c8\u3092\u751f\u6210\u3057\u307e\u3059\uff1a<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u682a\u4fa1\u30fb\u53d6\u5f15\u91cf\u30c1\u30e3\u30fc\u30c8<\/li>\n\n\n\n<li>\u914d\u5f53\u5229\u56de\u308a\u30fb\u5e74\u9593\u5229\u56de\u308a\u30c1\u30e3\u30fc\u30c8<\/li>\n\n\n\n<li>\u30dc\u30e9\u30c6\u30a3\u30ea\u30c6\u30a3\u30ec\u30f3\u30b8\u30c1\u30e3\u30fc\u30c8<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">2.ggplot2\u3092\u4f7f\u7528\u3057\u3066\u5404\u30c1\u30e3\u30fc\u30c8\u3092\u4f5c\u6210\u3057\u3001gridExtra\u3092\u4f7f\u7528\u3057\u30663\u3064\u306e\u30c1\u30e3\u30fc\u30c8\u3092\u4e00\u3064\u306e\u30b0\u30e9\u30d5\u306b\u7d50\u5408\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3.\u5404\u30c1\u30e3\u30fc\u30c8\u306b\u306f\u30ab\u30e9\u30fc\u30b3\u30fc\u30c9\u3068\u30e9\u30d9\u30eb\u304c\u9069\u7528\u3055\u308c\u3001\u8aad\u307f\u3084\u3059\u3055\u3092\u5411\u4e0a\u3055\u305b\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u3067\u306f\u3001\u682a\u5f0f\u30c7\u30fc\u30bf\u3092\u5206\u6790\u3059\u308b\u95a2\u6570\u3092\u4f5c\u3063\u3066\u307f\u307e\u3059\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u682a\u5f0f\u30c7\u30fc\u30bf\u5206\u6790\u95a2\u6570\nanalyze_stocks &lt;- function(stock_data, stocks_info) {\n  results &lt;- lapply(1:nrow(stocks_info), function(i) {\n    if (is.null(stock_data[[i]])) return(NULL)\n\n    symbol &lt;- stocks_info$symbol[i] &lt;- stocks_info$symbol[i]].\n    data &lt;- stock_data[[i]]]\n\n    df &lt;- data.frame(\n      \u9589\u3058\u308b = as.numeric(data[,4])\u3001\n      \u914d\u5f53 = as.numeric(data[,6])\n    )\n\n    list(\n      StockName = stocks_info$name[i]\u3001\n      Symbol = symbol\u3001\n      MeanPrice = mean(df$Close, na.rm = TRUE)\u3001\n      PriceStdDev = sd(df$Close, na.rm = TRUE)\u3001\n      MeanDividend = mean(df$Dividends, na.rm = TRUE)\u3001\n      TotalReturn = (tail(df$Close, 1) \/ df$Close[1] - 1)* 100\n    )\n  })\n\n  results &lt;- results[!sapply(results, is.null)] # NULL\u3092\u524a\u9664\u3057\u307e\u3059\u3002\n  do.call(rbind, lapply(results, as.data.frame))\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30b3\u30fc\u30c9\u89e3\u8aac<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u306f\u3044\u3001\u5f15\u304d\u7d9a\u304d\u30b3\u30fc\u30c9\u89e3\u8aac\u3092\u7d9a\u3051\u307e\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><code>analyze_stocks<\/code> \u95a2\u6570\u306f\u3001\u5404\u682a\u5f0f\u306b\u3064\u3044\u3066\u3001\u5e73\u5747\u4fa1\u683c\u3001\u4fa1\u683c\u306e\u6a19\u6e96\u504f\u5dee\u3001\u5e73\u5747\u914d\u5f53\u91d1\u3001\u7dcf\u53ce\u76ca\u7387\u306a\u3069\u3092\u8a08\u7b97\u3057\u307e\u3059\u3002<\/li>\n\n\n\n<li>\u5404\u9298\u67c4\u306e\u5206\u6790\u7d50\u679c\u3092\u30ea\u30b9\u30c8\u5316\u3057\u3001\u305d\u308c\u3092\u30c7\u30fc\u30bf\u30d5\u30ec\u30fc\u30e0\u306b\u5909\u63db\u3057\u3066\u8fd4\u3057\u307e\u3059\u3002<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u3055\u3066\u3001\u4eca\u5ea6\u306f\u5b9f\u969b\u306b\u3053\u308c\u3089\u306e\u95a2\u6570\u3092\u4f7f\u7528\u3057\u3066\u30c7\u30fc\u30bf\u3092\u53ce\u96c6\u3057\u3001\u5206\u6790\u3057\u3066\u307f\u307e\u3057\u3087\u3046\uff01<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u30e1\u30a4\u30f3\u5b9f\u884c\u90e8\nplan(multisession) #\u4e26\u5217\u30bb\u30c3\u30b7\u30e7\u30f3\u306e\u8a2d\u5b9a\n\n# \u30c7\u30fc\u30bf\u53ce\u96c6\u53ca\u3073\u53ef\u8996\u5316\nstock_data &lt;- future_map(1:nrow(stocks_info), function(i) {\n  symbol &lt;- stocks_info$symbol[i], function(i) { symbol &lt;- stocks_info$symbol[i], function(i)\n  data &lt;- get_stock_data(symbol)\n  if (!is.null(data)) {\n    plot_stock_data(data, stocks_info[i,])\n  }\n  data\n})\n\n# \u5206\u6790\u7d50\u679c\u51fa\u529b\nanalysis_results &lt;- analyze_stocks(stock_data, stocks_info)\nprint(analysis_results)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">\u30b3\u30fc\u30c9\u89e3\u8aac<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><code>\u30d7\u30e9\u30f3(\u30de\u30eb\u30c1\u30bb\u30c3\u30b7\u30e7\u30f3)<\/code>\u3067\u4e26\u5217\u51e6\u7406\u3092\u8a2d\u5b9a\u3057\u307e\u3059\u3002\u3053\u308c\u306b\u3088\u308a\u3001\u8907\u6570\u306e\u682a\u5f0f\u30c7\u30fc\u30bf\u3092\u540c\u6642\u306b\u53ce\u96c6\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u3001\u6642\u9593\u3092\u7bc0\u7d04\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/li>\n\n\n\n<li><code>future_map<\/code> \u95a2\u6570\u3092\u4f7f\u7528\u3057\u3066\u3001\u5404\u682a\u5f0f\u306b\u3064\u3044\u3066\u30c7\u30fc\u30bf\u3092\u53ce\u96c6\u3057\u3001\u8996\u899a\u5316\u3057\u307e\u3059\u3002<\/li>\n\n\n\n<li>\u6700\u5f8c\u306b <code>analyze_stocks<\/code> \u95a2\u6570\u3092\u547c\u3073\u51fa\u3057\u3066\u3059\u3079\u3066\u306e\u9298\u67c4\u306e\u5206\u6790\u7d50\u679c\u3092\u53d6\u5f97\u3057\u3066\u51fa\u529b\u3057\u307e\u3059\u3002<\/li>\n<\/ol>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><style>.kb-image3680_d8c1db-bb .kb-image-has-overlay:after{opacity:0.3;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.kb-image3680_d8c1db-bb img.kb-img, .kb-image3680_d8c1db-bb .kb-img img{border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image3680_d8c1db-bb\"><figure class=\"aligncenter size-medium\"><img decoding=\"async\" width=\"300\" height=\"421\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324277980361804622926317882743-300x421.jpg\" alt=\"\" class=\"kb-img wp-image-3687\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324277980361804622926317882743-300x421.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324277980361804622926317882743-600x841.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324277980361804622926317882743-768x1076.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324277980361804622926317882743-1096x1536.jpg 1096w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324277980361804622926317882743-9x12.jpg 9w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324277980361804622926317882743.jpg 1200w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/figure><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><style>.kb-image3680_ffaff8-94 .kb-image-has-overlay:after{opacity:0.3;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.kb-image3680_ffaff8-94 img.kb-img, .kb-image3680_ffaff8-94 .kb-img img{border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image3680_ffaff8-94\"><figure class=\"aligncenter size-medium\"><img decoding=\"async\" width=\"300\" height=\"421\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324279045003632581077926061469-300x421.jpg\" alt=\"\" class=\"kb-img wp-image-3688\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324279045003632581077926061469-300x421.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324279045003632581077926061469-600x841.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324279045003632581077926061469-768x1076.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324279045003632581077926061469-1096x1536.jpg 1096w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324279045003632581077926061469-9x12.jpg 9w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324279045003632581077926061469.jpg 1200w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/figure><\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><style>.kb-image3680_11e242-09 .kb-image-has-overlay:after{opacity:0.3;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.kb-image3680_11e242-09 img.kb-img, .kb-image3680_11e242-09 .kb-img img{border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image3680_11e242-09\"><figure class=\"aligncenter size-medium\"><img decoding=\"async\" width=\"300\" height=\"421\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324280976084115761900304129852-300x421.jpg\" alt=\"\" class=\"kb-img wp-image-3690\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324280976084115761900304129852-300x421.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324280976084115761900304129852-600x841.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324280976084115761900304129852-768x1076.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324280976084115761900304129852-1096x1536.jpg 1096w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324280976084115761900304129852-9x12.jpg 9w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324280976084115761900304129852.jpg 1200w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/figure><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><style>.kb-image3680_c0768f-5b .kb-image-has-overlay:after{opacity:0.3;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;}.kb-image3680_c0768f-5b img.kb-img, .kb-image3680_c0768f-5b .kb-img img{border-top-left-radius:5px;border-top-right-radius:5px;border-bottom-right-radius:5px;border-bottom-left-radius:5px;box-shadow:0px 0px 14px 0px rgba(0, 0, 0, 0.2);}<\/style>\n<div class=\"wp-block-kadence-image kb-image3680_c0768f-5b\"><figure class=\"aligncenter size-medium\"><img decoding=\"async\" width=\"300\" height=\"421\" src=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324281565548548672021359871426-300x421.jpg\" alt=\"\" class=\"kb-img wp-image-3691\" srcset=\"https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324281565548548672021359871426-300x421.jpg 300w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324281565548548672021359871426-600x841.jpg 600w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324281565548548672021359871426-768x1076.jpg 768w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324281565548548672021359871426-1096x1536.jpg 1096w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324281565548548672021359871426-9x12.jpg 9w, https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/17324281565548548672021359871426.jpg 1200w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/figure><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\u914d\u5f53\u682a\u6295\u8cc7\u3001\u3053\u3046\u3084\u3063\u3066\u30a2\u30d7\u30ed\u30fc\u30c1\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\uff01<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u3055\u3066\u3001\u79c1\u305f\u3061\u304c\u4f5c\u3063\u305fR\u30b3\u30fc\u30c9\u3067\u97d3\u56fd\u682a\u5f0f\u5e02\u5834\u306e10\u5927\u914d\u5f53\u682a\u3092\u5206\u6790\u3057\u3066\u307f\u307e\u3057\u305f\u3002 \u3053\u306e\u7d50\u679c\u3092\u3082\u3068\u306b\u3001\u914d\u5f53\u682a\u6295\u8cc7\u306b\u3069\u306e\u3088\u3046\u306b\u30a2\u30d7\u30ed\u30fc\u30c1\u3059\u308c\u3070\u3044\u3044\u306e\u304b\u3001\u3044\u304f\u3064\u304b\u306e\u30d2\u30f3\u30c8\u3092\u304a\u6559\u3048\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u914d\u5f53\u5229\u56de\u308a\u3092\u78ba\u8a8d\u3059\u308b<\/strong>: \u79c1\u305f\u3061\u306e\u30b3\u30fc\u30c9\u3067\u8a08\u7b97\u3057\u305f <code>\u914d\u5f53\u5229\u56de\u308a<\/code>\u306b\u6ce8\u76ee\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002 \u3053\u306e\u5024\u304c\u9ad8\u3044\u307b\u3069\u3001\u6295\u8cc7\u984d\u306b\u5bfe\u3057\u3066\u591a\u304f\u306e\u914d\u5f53\u3092\u53d7\u3051\u53d6\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u682a\u4fa1\u30dc\u30e9\u30c6\u30a3\u30ea\u30c6\u30a3\u3092\u8003\u616e\u3059\u308b<\/strong>: <code>VolatilityRange<\/code>\u3067\u682a\u4fa1\u306e\u5909\u52d5\u5e45\u3092\u78ba\u8a8d\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002 \u30dc\u30e9\u30c6\u30a3\u30ea\u30c6\u30a3\u306e\u4f4e\u3044\u9298\u67c4\u304c\u4e00\u822c\u7684\u306b\u5b89\u5b9a\u3057\u305f\u914d\u5f53\u9298\u67c4\u3068\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u7dcf\u53ce\u76ca\u3092\u898b\u308b<\/strong>: <code>TotalReturn<\/code>\u306f\u3001\u682a\u4fa1\u306e\u4e0a\u6607\u3068\u914d\u5f53\u306e\u4e21\u65b9\u3092\u8003\u616e\u3057\u305f\u53ce\u76ca\u7387\u3067\u3059\u3002 \u3053\u306e\u5024\u304c\u9ad8\u3044\u9298\u67c4\u306f\u3001\u9577\u671f\u6295\u8cc7\u4fa1\u5024\u304c\u3042\u308b\u53ef\u80fd\u6027\u304c\u3042\u308a\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u4f01\u696d\u306e\u8ca1\u52d9\u5065\u5168\u6027\u306e\u78ba\u8a8d<\/strong>: \u79c1\u305f\u3061\u306e\u30b3\u30fc\u30c9\u306b\u306f\u542b\u307e\u308c\u3066\u3044\u307e\u305b\u3093\u304c\u3001\u914d\u5f53\u682a\u306b\u6295\u8cc7\u3059\u308b\u969b\u306f\u3001\u4f01\u696d\u306e\u8ca1\u52d9\u8af8\u8868\u3082\u305c\u3072\u30c1\u30a7\u30c3\u30af\u3057\u3066\u307f\u3066\u304f\u3060\u3055\u3044\u3002\u5b89\u5b9a\u7684\u306a\u53ce\u76ca\u3092\u51fa\u3057\u3066\u3044\u308b\u4f01\u696d\u306f\u7d99\u7d9a\u7684\u306b\u914d\u5f53\u3092\u652f\u6255\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/li>\n\n\n\n<li><strong>\u696d\u754c\u52d5\u5411\u3092\u628a\u63e1\u3059\u308b<\/strong>\u5404\u4f01\u696d\u304c\u5c5e\u3059\u308b\u7523\u696d\u306e\u5c06\u6765\u5c55\u671b\u3082\u91cd\u8981\u3067\u3001\u6210\u9577\u53ef\u80fd\u6027\u306e\u9ad8\u3044\u7523\u696d\u306e\u4f01\u696d\u306f\u914d\u5f53\u3082\u5897\u3048\u308b\u53ef\u80fd\u6027\u304c\u9ad8\u3044\u3067\u3059\u3002<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">\u304a\u308f\u308a\u306b\uff1a\u914d\u5f53\u682a\u6295\u8cc7\u306e\u9b45\u529b<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u914d\u5f53\u682a\u6295\u8cc7\u306f\u3001\u5b89\u5b9a\u3057\u305f\u53ce\u76ca\u3092\u6c42\u3081\u308b\u6295\u8cc7\u5bb6\u306b\u3068\u3063\u3066\u9b45\u529b\u7684\u306a\u6226\u7565\u3067\u3059\u3002 \u3057\u304b\u3057\u3001\u3059\u3079\u3066\u306e\u6295\u8cc7\u304c\u305d\u3046\u3067\u3042\u308b\u3088\u3046\u306b\u3001\u914d\u5f53\u682a\u6295\u8cc7\u306b\u3082\u30ea\u30b9\u30af\u304c\u3042\u308a\u307e\u3059\u3002\u79c1\u305f\u3061\u304c\u4f5c\u3063\u305fR\u30b3\u30fc\u30c9\u3067\u5f97\u305f\u60c5\u5831\u306f\u3001\u6295\u8cc7\u5224\u65ad\u3092\u4e0b\u3059\u306e\u306b\u5f79\u7acb\u3061\u307e\u3059\u304c\u3001\u305d\u308c\u3060\u3051\u3067\u306f\u5341\u5206\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5b9f\u969b\u306e\u6295\u8cc7\u3092\u884c\u3046\u524d\u306b\u3001\u3088\u308a\u6df1\u3044\u5206\u6790\u3068\u500b\u4eba\u306e\u6295\u8cc7\u6027\u5411\u3001\u305d\u3057\u3066\u5c02\u9580\u5bb6\u306e\u30a2\u30c9\u30d0\u30a4\u30b9\u3092\u7dcf\u5408\u7684\u306b\u8003\u616e\u3057\u3066\u304f\u3060\u3055\u3044\u3002\u914d\u5f53\u682a\u6295\u8cc7\u306e\u771f\u306e\u9b45\u529b\u306f\u3001\u9577\u671f\u7684\u306a\u8996\u70b9\u3067\u898b\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u5834\u5408\u304c\u591a\u3044\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u7686\u3055\u3093\u3082\u4eca\u3059\u3050R\u30b3\u30fc\u30c9\u3092\u6d3b\u7528\u3057\u3066\u81ea\u5206\u3060\u3051\u306e\u914d\u5f53\u682a\u30dd\u30fc\u30c8\u30d5\u30a9\u30ea\u30aa\u3092\u4f5c\u3063\u3066\u307f\u3066\u306f\u3044\u304b\u304c\u3067\u3057\u3087\u3046\u304b\uff1f\u6295\u8cc7\u306e\u4e16\u754c\u306f\u5e83\u304f\u3066\u6df1\u3044\u3067\u3059\u3002\u4e00\u7dd2\u306b\u5b66\u3073\u3001\u6210\u9577\u3057\u3066\u3044\u304d\u307e\u3057\u3087\u3046\uff01<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/secondlife.lol\/ja\/dividend-stock-recommendations-2024-python-analysis\/\">Python\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u306b\u3088\u308b\u914d\u5f53\u682a\u306e\u304a\u3059\u3059\u3081\u6295\u7a3f\u3082<\/a> \u4eca\u898b\u3066\u3044\u305f\u3060\u3044\u3066\u3044\u308b\u8a18\u4e8b\u3068\u6bd4\u8f03\u3057\u3066\u3044\u305f\u3060\u3051\u308c\u3070\u3001\u3069\u306e\u9298\u67c4\u304c\u826f\u3044\u304b\u3001\u3088\u308a\u30a4\u30e1\u30fc\u30b8\u304c\u6e67\u304f\u306e\u3067\u306f\u306a\u3044\u3067\u3057\u3087\u3046\u304b\u3002 <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">#\u5168\u30b3\u30fc\u30c9<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># \u5fc5\u9808\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u8aad\u307f\u8fbc\u307f\nlibrary(quantmod)\nlibrary(ggplot2)\nlibrary(reshape2)\nlibrary(dplyr)\nlibrary(gridExtra)\nlibrary(scales)\nlibrary(furrr) #\u4e26\u5217\u51e6\u7406\u30e9\u30a4\u30d6\u30e9\u30ea\n\n# \u5206\u6790\u3059\u308b\u682a\u5f0f\u9298\u67c4\u60c5\u5831\u306e\u8a2d\u5b9a\nstocks_info &lt;- data.frame(\n  symbol = c(&quot;005930.KS&quot;, &quot;017670.KS&quot;, &quot;033780.KS&quot;, &quot;000270.KS&quot;, &quot;051910.KS&quot;\u3001\n             &quot;032640.KS&quot;, &quot;030200.KS&quot;, &quot;000810.KS&quot;, &quot;035250.KS&quot;, &quot;316140.KS&quot;)\u3001\n  name = c(&quot;Samsung Electronics&quot;, &quot;SK Telecom&quot;, &quot;KT&quot;, &quot;Kia&quot;, &quot;LG Chem&quot;\u3001\n           &quot;LG Uplus&quot;, &quot;KT&amp;G&quot;, &quot;Samsung Fire&quot;, &quot;POSCO Holdings&quot;, &quot;Woori Financial&quot;)\n)\n\n# \u682a\u5f0f\u30c7\u30fc\u30bf\u53ce\u96c6\u95a2\u6570\u306e\u5b9a\u7fa9\nget_stock_data &lt;- function(symbol) {\n  tryCatch({ {\n    # \u6700\u8fd110\u5e74\u9593\u306e\u30c7\u30fc\u30bf\u53ce\u96c6\n    data &lt;- getSymbols(\n      symbol, src = &quot;yahoo&quot;\u3001\n      from = Sys.Date() - years(10)\u3001\n      to = Sys.Date()\u3001\n      auto.assign = FALSE\n    )\n    \n    # \u30c7\u30fc\u30bf\u30c1\u30a7\u30c3\u30af\n    if (is.null(data)) stop(&quot;No data retrieved.&quot;)\n    \n    # \u73fe\u5728\u306e\u65e5\u4ed8\u4ee5\u964d\u306e\u30c7\u30fc\u30bf\u524a\u9664\n    data &lt;- data[index(data) &lt;= Sys.Date()]].\n    \n    # \u5e74\u9593\u30c7\u30fc\u30bf\u306b\u5909\u63db\n    annual_close &lt;- to.yearly(Cl(data))\n    annual_open &lt;- to.yearly(Op(data))\n    annual_high &lt;- to.yearly(Hi(data))\n    annual_low &lt;- to.yearly(Lo(data))\n    annual_volume &lt;- to.yearly(Vo(data))\n    \n    #\u306e\u914d\u5f53\u91d1\u51e6\u7406(\u306a\u3044\u5834\u5408\u306f0\u3067\u57cb\u3081\u308b)\n    annual_dividends &lt;- if (&quot;\u914d\u5f53\u91d1&quot; %in% colnames(data)) {\n      to.yearly(data$Dividends)\n    } else {\n      xts(rep(0, nrow(annual_close)), order.by = index(annual_close))\n    }\n    \n    cbind(annual_open, annual_high, annual_low, annual_close\u3001\n          annual_volume, annual_dividends)\n  }, error = function(e) {\n    warning(paste(&quot;Data fetch failed for&quot;, symbol, &quot;:&quot;, e$message))\n    return(NULL)\n  })\n}\n\n# \u30c7\u30fc\u30bf\u53ef\u8996\u5316\u95a2\u6570\nplot_stock_data &lt;- function(data, stock_info) { {\n  if (is.null(data)) {\n    warning(paste(&quot;No data available for&quot;, stock_info$name))\n    return(NULL)\n  }\n  \n  #\u30c7\u30fc\u30bf\u30d5\u30ec\u30fc\u30e0\u751f\u6210\u53ca\u3073\u6307\u6a19\u8a08\u7b97\n  df %\n    mutate(\n      DividendYield = (Dividends \/ Close) * 100, #\u306e\u914d\u5f53\u5229\u56de\u308a\n      AnnualReturn = (Close \/ lag(Close) - 1)* 100, # \u5e74\u9593\u53ce\u76ca\u7387\n      VolatilityRange = High - Low #\u306e\u30dc\u30e9\u30c6\u30a3\u30ea\u30c6\u30a3\u7bc4\u56f2\n    )\n  \n  # NA\u5024\u3092\u524a\u9664\n  df &lt;- na.omit(df)\n  \n  # \u6700\u65b0\u30c8\u30ec\u30f3\u30c9\u30ab\u30e9\u30fc\u3092\u9069\u7528\n  close_color &lt;- &quot;#1f77b4&quot;\n  dividend_color &lt;- &quot;#2ca02c&quot;\n  return_color &lt;- &quot;#d62728&quot;\n  volatility_color &lt;- &quot;#9467bd&quot;\n  volume_color &lt;- &quot;#8c564b&quot;\n  \n  # \u682a\u4fa1\u3068\u53d6\u5f15\u91cf\u30c1\u30e3\u30fc\u30c8\u3092\u4f5c\u6210\u3059\u308b\n  p1 &lt;- ggplot(df, aes(x = Year)) + p1 &lt;- ggplot(df, aes(x = Year))\n    geom_line(aes(aes(y = Close), color = close_color, size = 1) + + geom_line(aes(y = Close), color = close_color, size = 1)\n    geom_point(aes(aes(y = Close), color = close_color) + geom_point(aes(y = Close), size = 1)\n    geom_text(aes(y = Close, label = round(Close, 0))\u3001\n              vjust = -0.6, size = 3) + # vjust\u5024\u8abf\u6574\n    geom_col(aes(y = Volume\/max(Volume, na.rm = TRUE) * max(Close, na.rm = TRUE))\u3001\n             fill = volume_color, alpha = 0.3) + + fill = volume_color, alpha = 0.3)\n    scale_y_continuous(\n      name = &quot;\u4fa1\u683c (\u5186)&quot;\u3001\n      labels = scales::comma\u3001\n      sec.axis = sec_axis(~.\/max(df$Close, na.rm = TRUE) * max(df$Volume, na.rm = TRUE)\u3001\n                          name = &quot;\u30dc\u30ea\u30e5\u30fc\u30e0&quot;)\u3001\n      expand = expansion(mult = c(0.05, 0.1)) # \u4e0a\u90e8\u306e\u4f59\u767d\u3092\u8ffd\u52a0\u3057\u307e\u3059\u3002\n    \n    labs(title = paste(stock_info$name, &quot;(&quot;, stock_info$symbol, &quot;)&quot;)\u3001\n         subtitle = &quot;Annual Price and Volume&quot;) + subtitle = &quot;&quot;)\n    theme_minimal() + theme_minimal()\n    theme(\n      plot.title = element_text(size = 14, face = &quot;bold&quot;)\u3001\n      axis.title = element_text(size = 10)\u3001\n      legend.position = &quot;bottom&quot;\n    )\n  \n  #\u306e\u53ce\u76ca\u7387\u30c1\u30e3\u30fc\u30c8\u3092\u4f5c\u6210\n  p2 &lt;- ggplot(df, aes(x = Year)) + + p2 &lt;- ggplot(df, aes(x = Year))\n    geom_line(aes(y = DividendYield, color = &quot;Dividend Yield&quot;), size = 1) + + geom_line(aes(y = DividendYield, color = &quot;Dividend Yield&quot;), size = 1)\n    geom_point(aes(aes(y = DividendYield), color = dividend_color) + geom_point(aes(y = DividendYield), size = 1)\n    geom_text(aes(y = DividendYield, label = round(DividendYield, 1))\u3001\n              color = dividend_color, vjust = -0.6, size = 3) + # vjust\u5024\u8abf\u6574\n    geom_line(aes(aes(y = AnnualReturn, color = &quot;Annual Return&quot;), size = 1) + geom_line(aes(y = AnnualReturn, size = 1))\n    geom_point(aes(aes(y = AnnualReturn), color = return_color) + + geom_point(aes(y = AnnualReturn), size = 1)\n    geom_text(aes(y = AnnualReturn, label = round(AnnualReturn, 1))\u3001\n              color = return_color, vjust = 1.5, size = 3) +\n    scale_color_manual(values = c(&quot;\u914d\u5f53\u5229\u56de\u308a&quot; = dividend_color\u3001\n                                  &quot;\u5e74\u9593\u30ea\u30bf\u30fc\u30f3&quot; = return_color)) +\n    labs(y = &quot;\u30ec\u30fc\u30c8(%)&quot;, color = &quot;\u30e1\u30c8\u30ea\u30af\u30b9&quot;) +\n    scale_y_continuous(expand = expansion(mult = c(0.05, 0.1))) + # \u4e0a\u90e8\u4f59\u767d\u8ffd\u52a0\n    theme_minimal() + theme(legend.position = &quot;bottom&quot;)\n    theme(legend.position = &quot;bottom&quot;)\n  \n  #\u30dc\u30e9\u30c6\u30a3\u30ea\u30c6\u30a3\u30c1\u30e3\u30fc\u30c8\u4f5c\u6210\n  p3 &lt;- ggplot(df, aes(x = Year, y = VolatilityRange)) + p3 &lt;- ggplot(df, aes(x = Year, y = VolatilityRange)) + + ggplot()\n    geom_line(color = volatility_color, size = 1) + + geom_line(color = volatility_color, size = 1)\n    geom_point(color = volatility_color) + geom_line(color = volatility_color, size = 1) + geom_line(size = 1)\n    geom_text(aes(label = round(VolatilityRange, 0))\u3001\n              vjust = -0.6, size = 3, color = volatility_color) + # vjust\u5024\u3092\u8abf\u6574\u3057\u307e\u3059\u3002\n    labs(y = &quot;Volatility Range (High-Low)&quot;) + scale_y_continuous(y = &quot;Volatility Range (High-Low)&quot;)\n    scale_y_continuous(labels = scales::comma\u3001\n                       expand = expansion(mult = c(0.05, 0.1))) + # \u4e0a\u90e8\u4f59\u767d\u8ffd\u52a0\n    theme_minimal()\n  \n  #\u30c1\u30e3\u30fc\u30c8\u306e\u914d\u7f6e\n  gridExtra::grid.arrange(p1, p2, p3, ncol = 1\u3001\n                          heights = c(1.2, 1, 1, 1))\n} }\n\n# \u682a\u5f0f\u306e\u30c7\u30fc\u30bf\u5206\u6790\u95a2\u6570\nanalyze_stocks &lt;- function(stock_data, stocks_info) {\n  results &lt;- lapply(1:nrow(stocks_info), function(i) {\n    if (is.null(stock_data[[i]])) return(NULL)\n    \n    symbol &lt;- stocks_info$symbol[i] &lt;- stocks_info$symbol[i]].\n    data &lt;- stock_data[[i]]]\n    \n    df &lt;- data.frame(\n      \u9589\u3058\u308b = as.numeric(data[,4])\u3001\n      \u914d\u5f53 = as.numeric(data[,6])\n    )\n    \n    list(\n      StockName = stocks_info$name[i]\u3001\n      Symbol = symbol\u3001\n      MeanPrice = mean(df$Close, na.rm = TRUE)\u3001\n      PriceStdDev = sd(df$Close, na.rm = TRUE)\u3001\n      MeanDividend = mean(df$Dividends, na.rm = TRUE)\u3001\n      TotalReturn = (tail(df$Close, 1) \/ df$Close[1] - 1)* 100\n    )\n  })\n  \n  results &lt;- results[!sapply(results, is.null)] # NULL\u3092\u524a\u9664\u3057\u307e\u3059\u3002\n  do.call(rbind, lapply(results, as.data.frame))\n}\n\n# \u30e1\u30a4\u30f3\u5b9f\u884c\u90e8\nplan(multisession) # \u4e26\u5217\u30bb\u30c3\u30b7\u30e7\u30f3\u8a2d\u5b9a\n\n# \u30c7\u30fc\u30bf\u53ce\u96c6\u53ca\u3073\u53ef\u8996\u5316\nstock_data &lt;- future_map(1:nrow(stocks_info), function(i) {\n  symbol &lt;- stocks_info$symbol[i], function(i) { symbol &lt;- stocks_info$symbol[i], function(i)\n  data &lt;- get_stock_data(symbol)\n  if (!is.null(data)) {\n    plot_stock_data(data, stocks_info[i,])\n  }\n  data\n})\n\n# \u5206\u6790\u7d50\u679c\u51fa\u529b\nanalysis_results &lt;- analyze_stocks(stock_data, stocks_info)\nprint(analysis_results)<\/code><\/pre>","protected":false},"excerpt":{"rendered":"<p>\u7686\u3055\u3093\u3001\u3053\u3093\u306b\u3061\u306f\uff01\u4eca\u65e5\u306f\u672c\u5f53\u306b\u30a8\u30ad\u30b5\u30a4\u30c6\u30a3\u30f3\u30b0\u306a\u30c6\u30fc\u30de\u3067\u3084\u3063\u3066\u304d\u307e\u3057\u305f\u3002 \u305d\u308c\u306f\u300c\u914d\u5f53\u682a\u6295\u8cc7\u300d\u3067\u3059\u3002<\/p>","protected":false},"author":3,"featured_media":3706,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[6],"tags":[174,509,517,516,512],"class_list":["post-3680","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-r-coding","tag-r-","tag-509","tag-517","tag-516","tag-512"],"taxonomy_info":{"category":[{"value":6,"label":"\uc54c(R)"}],"post_tag":[{"value":174,"label":"R \ud504\ub85c\uadf8\ub798\ubc0d"},{"value":509,"label":"\ubc30\ub2f9\uc8fc \ud22c\uc790"},{"value":517,"label":"\uc7ac\ud14c\ud06c"},{"value":516,"label":"\uc8fc\uc2dd \ubd84\uc11d"},{"value":512,"label":"\ud55c\uad6d \uc99d\uc2dc"}]},"featured_image_src_large":["https:\/\/secondlife.lol\/wp-content\/uploads\/2024\/11\/\ubc30\ub2f9\uc8fc-\ud22c\uc790-post-thumbnail-600x600.jpg",600,600,true],"author_info":{"display_name":"TERE","author_link":"https:\/\/secondlife.lol\/ja\/author\/tere\/"},"comment_info":0,"category_info":[{"term_id":6,"name":"\uc54c(R)","slug":"r-coding","term_group":0,"term_taxonomy_id":6,"taxonomy":"category","description":"","parent":20,"count":61,"filter":"raw","cat_ID":6,"category_count":61,"category_description":"","cat_name":"\uc54c(R)","category_nicename":"r-coding","category_parent":20}],"tag_info":[{"term_id":174,"name":"R \ud504\ub85c\uadf8\ub798\ubc0d","slug":"r-%ed%94%84%eb%a1%9c%ea%b7%b8%eb%9e%98%eb%b0%8d","term_group":0,"term_taxonomy_id":174,"taxonomy":"post_tag","description":"","parent":0,"count":15,"filter":"raw"},{"term_id":509,"name":"\ubc30\ub2f9\uc8fc \ud22c\uc790","slug":"%eb%b0%b0%eb%8b%b9%ec%a3%bc-%ed%88%ac%ec%9e%90","term_group":0,"term_taxonomy_id":509,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"},{"term_id":517,"name":"\uc7ac\ud14c\ud06c","slug":"%ec%9e%ac%ed%85%8c%ed%81%ac","term_group":0,"term_taxonomy_id":517,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":516,"name":"\uc8fc\uc2dd \ubd84\uc11d","slug":"%ec%a3%bc%ec%8b%9d-%eb%b6%84%ec%84%9d","term_group":0,"term_taxonomy_id":516,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":512,"name":"\ud55c\uad6d \uc99d\uc2dc","slug":"%ed%95%9c%ea%b5%ad-%ec%a6%9d%ec%8b%9c","term_group":0,"term_taxonomy_id":512,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"}],"_links":{"self":[{"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/posts\/3680","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/comments?post=3680"}],"version-history":[{"count":11,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/posts\/3680\/revisions"}],"predecessor-version":[{"id":3769,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/posts\/3680\/revisions\/3769"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/media\/3706"}],"wp:attachment":[{"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/media?parent=3680"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/categories?post=3680"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/secondlife.lol\/ja\/wp-json\/wp\/v2\/tags?post=3680"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}