|
94 | 94 | "source": [ |
95 | 95 | "from okama.common import make_asset_list\n", |
96 | 96 | "\n", |
97 | | - "ls = ['SPY.US', 'AGG.US', 'GC.COMM', 'VOO.US', 'MCFTR.INDX', 'RGBITR.INDX', 'MOW_PR.RE', 'MOW_SEC.RE', 'RUCBTRNS.INDX', 'USDRUB.FX']\n" |
| 97 | + "ls = [\n", |
| 98 | + " \"SPY.US\",\n", |
| 99 | + " \"AGG.US\",\n", |
| 100 | + " \"GC.COMM\",\n", |
| 101 | + " \"VOO.US\",\n", |
| 102 | + " \"MCFTR.INDX\",\n", |
| 103 | + " \"RGBITR.INDX\",\n", |
| 104 | + " \"MOW_PR.RE\",\n", |
| 105 | + " \"MOW_SEC.RE\",\n", |
| 106 | + " \"RUCBTRNS.INDX\",\n", |
| 107 | + " \"USDRUB.FX\",\n", |
| 108 | + "]" |
98 | 109 | ] |
99 | 110 | }, |
100 | 111 | { |
|
256 | 267 | } |
257 | 268 | ], |
258 | 269 | "source": [ |
259 | | - "al = ok.AssetList(ls, ccy='RUB', inflation=True)\n", |
| 270 | + "al = ok.AssetList(ls, ccy=\"RUB\", inflation=True)\n", |
260 | 271 | "print(al)" |
261 | 272 | ] |
262 | 273 | }, |
|
282 | 293 | }, |
283 | 294 | "outputs": [], |
284 | 295 | "source": [ |
285 | | - "assets = ['MCFTR.INDX', 'GC.COMM', 'RGBITR.INDX', 'RUCBTRNS.INDX']\n", |
286 | | - "assets1 = ['MCFTR.INDX', 'GC.COMM']\n", |
287 | | - "assets2 = ['SPY.US', 'AGG.US', 'GC.COMM']" |
| 296 | + "assets = [\"MCFTR.INDX\", \"GC.COMM\", \"RGBITR.INDX\", \"RUCBTRNS.INDX\"]\n", |
| 297 | + "assets1 = [\"MCFTR.INDX\", \"GC.COMM\"]\n", |
| 298 | + "assets2 = [\"SPY.US\", \"AGG.US\", \"GC.COMM\"]" |
288 | 299 | ] |
289 | 300 | }, |
290 | 301 | { |
|
525 | 536 | }, |
526 | 537 | "outputs": [], |
527 | 538 | "source": [ |
528 | | - "pf.dcf.set_mc_parameters(\n", |
529 | | - " distribution=\"norm\", # Normal distribution (or Gaussian distribution)\n", |
530 | | - " period=10,\n", |
531 | | - " number=100\n", |
532 | | - ")" |
| 539 | + "pf.dcf.set_mc_parameters(distribution=\"norm\", period=10, number=100) # Normal distribution (or Gaussian distribution)" |
533 | 540 | ] |
534 | 541 | }, |
535 | 542 | { |
|
1116 | 1123 | } |
1117 | 1124 | ], |
1118 | 1125 | "source": [ |
1119 | | - "assets = ['RGBITR.INDX', 'RUCBTRNS.INDX', 'MCFTR.INDX', 'GC.COMM']\n", |
1120 | | - "weights = [0.16, 0.40, 0.25, 0.19]\n", |
1121 | | - "pf = ok.Portfolio(assets, weights=weights, ccy='RUB', rebalancing_period='year', inflation=False)\n", |
| 1126 | + "assets = [\"RGBITR.INDX\", \"RUCBTRNS.INDX\", \"MCFTR.INDX\", \"GC.COMM\"]\n", |
| 1127 | + "weights = [0.16, 0.40, 0.25, 0.19]\n", |
| 1128 | + "pf = ok.Portfolio(assets, weights=weights, ccy=\"RUB\", rebalancing_period=\"year\", inflation=False)\n", |
1122 | 1129 | "pf.dcf.discount_rate = 0.09\n", |
1123 | 1130 | "print(pf)" |
1124 | 1131 | ] |
|
2546 | 2553 | "import okama as ok\n", |
2547 | 2554 | "\n", |
2548 | 2555 | "import warnings\n", |
| 2556 | + "\n", |
2549 | 2557 | "warnings.simplefilter(action=\"ignore\", category=FutureWarning)" |
2550 | 2558 | ] |
2551 | 2559 | }, |
|
2847 | 2855 | "source": [ |
2848 | 2856 | "pf = [\"SPY.US\", \"GLD.US\", \"VB.US\"]\n", |
2849 | 2857 | "\n", |
2850 | | - "curr = 'RUB'\n", |
| 2858 | + "curr = \"RUB\"\n", |
2851 | 2859 | "\n", |
2852 | | - "last_date=\"2024-07\"\n", |
| 2860 | + "last_date = \"2024-07\"\n", |
2853 | 2861 | "\n", |
2854 | | - "bounds=((0, 1), (0, 1), (0, 1))\n", |
| 2862 | + "bounds = ((0, 1), (0, 1), (0, 1))\n", |
2855 | 2863 | "\n", |
2856 | 2864 | "ef = ok.EfficientFrontierReb(pf, ccy=curr, last_date=last_date, bounds=bounds)\n", |
2857 | 2865 | "\n", |
|
2929 | 2937 | " first_date=\"2004-10\",\n", |
2930 | 2938 | " last_date=\"2020-10\",\n", |
2931 | 2939 | " ccy=curr,\n", |
2932 | | - " bounds=((0, 0.4), (0, 1), (0, 1)), # add bounds \n", |
| 2940 | + " bounds=((0, 0.4), (0, 1), (0, 1)), # add bounds\n", |
2933 | 2941 | " verbose=False,\n", |
2934 | 2942 | ")\n", |
2935 | 2943 | "\n", |
|
2968 | 2976 | }, |
2969 | 2977 | "outputs": [], |
2970 | 2978 | "source": [ |
2971 | | - "ef = ok.EfficientFrontierReb(['SPY.US', 'MCFTR.INDX'], ccy='RUB', last_date='2025-03', bounds=None)" |
| 2979 | + "ef = ok.EfficientFrontierReb([\"SPY.US\", \"MCFTR.INDX\"], ccy=\"RUB\", last_date=\"2025-03\", bounds=None)" |
2972 | 2980 | ] |
2973 | 2981 | }, |
2974 | 2982 | { |
|
2982 | 2990 | }, |
2983 | 2991 | "outputs": [], |
2984 | 2992 | "source": [ |
2985 | | - "ef = ok.EfficientFrontierReb(['SPY.US', 'GLD.US'], ccy='USD', last_date='2020-10', bounds=None)" |
| 2993 | + "ef = ok.EfficientFrontierReb([\"SPY.US\", \"GLD.US\"], ccy=\"USD\", last_date=\"2020-10\", bounds=None)" |
2986 | 2994 | ] |
2987 | 2995 | }, |
2988 | 2996 | { |
|
3026 | 3034 | "# ax.plot(df1_not_reb.Risk, df1_not_reb.CAGR, label=\"Not rebalanced\")\n", |
3027 | 3035 | "\n", |
3028 | 3036 | "# Plot the assets\n", |
3029 | | - "ef.plot_assets(kind=\"cagr\")\n" |
| 3037 | + "ef.plot_assets(kind=\"cagr\")" |
3030 | 3038 | ] |
3031 | 3039 | }, |
3032 | 3040 | { |
|
0 commit comments