Ich möchte alle Mittel und Abweichungen von den Standards eines Portfolios bekommen. Es scheint jedoch, dass mein Portfolio zu gross ist. Und zwar mit folgendem Code:
n_portfolios = 5
means, stds = np.column_stack([
random_portfolio(df_new_copy[1:].values)
for _ in range(n_portfolios)
])
Ich bekomme folgenden Fehler:
---------------------------------------------------------------------------
MemoryError Traceback (most recent call last)
<ipython-input-151-62c87a1a020c> in <module>
2 means, stds = np.column_stack([
3 random_portfolio(df_new_copy[1:].values)
----> 4 for _ in range(n_portfolios)
5 ])
<ipython-input-151-62c87a1a020c> in <listcomp>(.0)
2 means, stds = np.column_stack([
3 random_portfolio(df_new_copy[1:].values)
----> 4 for _ in range(n_portfolios)
5 ])
<ipython-input-141-3aebfc0c97df> in random_portfolio(returns)
13 # This recursion reduces outliers to keep plots pretty
14 if sigma > 2:
---> 15 return random_portfolio(returns)
16 return mu, sigma
<ipython-input-141-3aebfc0c97df> in random_portfolio(returns)
13 # This recursion reduces outliers to keep plots pretty
14 if sigma > 2:
---> 15 return random_portfolio(returns)
16 return mu, sigma
<ipython-input-141-3aebfc0c97df> in random_portfolio(returns)
13 # This recursion reduces outliers to keep plots pretty
14 if sigma > 2:
---> 15 return random_portfolio(returns)
16 return mu, sigma
<ipython-input-141-3aebfc0c97df> in random_portfolio(returns)
13 # This recursion reduces outliers to keep plots pretty
14 if sigma > 2:
---> 15 return random_portfolio(returns)
16 return mu, sigma
<ipython-input-141-3aebfc0c97df> in random_portfolio(returns)
6 p = np.asmatrix(np.mean(returns, axis=1))
7 w = np.asmatrix(rand_weights(returns.shape[0]))
----> 8 C = np.asmatrix(np.cov(returns))
9
10 mu = w * p.T
<__array_function__ internals> in cov(*args, **kwargs)
C:\ProgramData\Anaconda3\lib\site-packages\numpy\lib\function_base.py in cov(m, y, rowvar, bias, ddof, fweights, aweights)
2452 else:
2453 X_T = (X*w).T
-> 2454 c = dot(X, X_T.conj())
2455 c *= np.true_divide(1, fact)
2456 return c.squeeze()
<__array_function__ internals> in dot(*args, **kwargs)
MemoryError: Unable to allocate array with shape (7010, 7010) and data type float64
Hier sind die Log-Rückgaben df_new_copy[1:]
ABI BB Equity AD NA Equity ADS GY Equity AI FP Equity AIR FP Equity AMS SQ Equity ASML NA Equity BAS GY Equity BAYN GY Equity BBVA SQ Equity BMW GY Equity BN FP Equity BNP FP Equity CRH ID Equity CS FP Equity DAI GY Equity DG FP Equity DPW GY Equity DTE GY Equity EL FP Equity ENEL IM Equity ENGI FP Equity ENI IM Equity FP FP Equity FRE GY Equity GLE FP Equity IBE SQ Equity INGA NA Equity ISP IM Equity ITX SQ Equity KER FP Equity LIN GY Equity MC FP Equity MUV2 GY Equity NOKIA FH Equity OR FP Equity ORA FP Equity PHIA NA Equity SAF FP Equity SAN FP Equity SAN SQ Equity SAP GY Equity SIE GY Equity SU FP Equity TEF SQ Equity URW NA Equity VIV FP Equity VOW3 GY Equity SX5E Index
Dates
2019-02-27 09:10:00 0.000609 -0.016755 -0.000942 -0.000455 -0.001060 -0.001156 0.001110 -0.000595 -0.012139 -0.005338 -0.001087 -0.000298 -0.005329 -0.002539 0.000458 -0.003402 0.000970 0.000749 0.002073 0.004213 0.001128 0.000000 -0.000526 0.000300 0.000618 -0.004077 -0.001086 -0.003357 -0.001922 -0.004970 -0.000620 0.000981 -0.001154 -0.001450 -0.002239 -0.001803 0.002999 -0.000285 0.002952 0.000274 -0.006883 0.002868 -0.001028 0.001747 -0.001983 -0.002932 0.000825 -0.003332 3275.70
2019-02-27 09:20:00 -0.001676 -0.002226 -0.000943 -0.001366 -0.003185 -0.001447 0.000985 -0.000744 0.005137 0.002673 0.000408 -0.003431 0.003942 -0.000727 -0.002521 0.000379 0.000969 0.004484 -0.000691 0.001400 -0.000752 -0.002848 0.000131 0.000200 -0.003096 0.004852 -0.001631 -0.000177 0.001922 0.000766 0.000207 -0.003931 -0.000825 -0.000484 -0.001121 -0.003164 0.001496 -0.001426 0.000421 0.001370 0.000485 -0.003400 -0.001647 0.002034 -0.000794 -0.000280 -0.004546 0.003332 3273.88
2019-02-27 09:30:00 0.002437 0.004668 -0.000472 0.001366 0.001240 0.003181 0.001107 -0.001192 0.006275 -0.000191 0.002171 0.001195 0.001272 0.000363 0.002521 0.001891 0.001936 0.000000 -0.000691 0.003260 0.000000 -0.001427 -0.000921 0.000200 -0.001241 -0.000387 0.000272 0.000531 0.001199 -0.005376 -0.000207 -0.000657 -0.001156 0.000967 0.004105 0.004066 -0.001496 0.002423 0.000000 0.000547 0.000605 0.001064 0.004011 0.001450 0.000000 0.000699 0.005371 0.002260 3277.38
2019-02-27 09:40:00 -0.001522 -0.006006 0.000000 0.000000 0.001062 -0.001155 -0.002339 -0.003435 -0.002476 -0.003438 -0.001764 -0.001045 -0.005213 0.000000 -0.002063 -0.003595 -0.001451 -0.003361 -0.001038 0.002322 0.000376 -0.000714 -0.000658 -0.000901 -0.001657 -0.006802 0.000816 -0.005678 -0.002881 0.000385 0.000000 0.000985 0.000000 -0.001935 -0.002237 0.001352 0.000748 -0.002137 0.007965 -0.001095 -0.006314 -0.001064 -0.004217 -0.004648 -0.000795 -0.001959 -0.000824 -0.001594 3272.65
2019-02-27 09:50:00 -0.000610 -0.002234 0.000943 0.000910 -0.000354 -0.001736 -0.001357 -0.000748 0.006396 0.001147 0.000407 -0.001645 0.002320 -0.003640 -0.000688 -0.000569 -0.000242 0.000748 -0.000692 -0.001857 -0.001129 -0.002504 -0.001054 -0.001003 -0.001037 0.003698 -0.000272 0.000000 0.000240 0.000000 -0.002483 -0.000656 -0.000661 0.000484 0.000000 0.000000 -0.000748 -0.001285 0.001252 -0.000685 0.001096 -0.000319 -0.001444 -0.002916 -0.001061 0.000840 0.000412 0.000532 3271.90
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
2019-09-06 16:00:00 0.000474 0.000000 0.001616 0.000000 -0.001103 0.000000 0.002545 -0.000980 0.000150 -0.001003 -0.006883 0.000000 -0.001296 -0.000327 -0.000696 -0.003742 0.000499 -0.000987 -0.000397 -0.000734 0.002108 0.000000 -0.000727 -0.001100 -0.001232 -0.000622 0.003184 -0.001096 -0.000969 0.000000 -0.000552 0.001464 0.001188 0.000449 -0.002322 0.000794 -0.000730 0.000233 -0.001053 0.001476 -0.001703 0.000000 -0.000434 -0.001300 -0.000455 -0.000419 -0.000394 -0.003708 3490.09