1 votos

Algunas interpretaciones sobre algunas parcelas / estadísticas

He estado jugando con un modelo sólo con fines de aprendizaje (no espero ganar dinero con el modelo), pero quería obtener algunas opiniones sobre lo que crees que son "buenos" valores y algunas opiniones sobre el drawdown, las estadísticas de riesgo / recompensa.

Actualmente tengo 3 modelos ret , ret1 y ret2 . La esperanza es que ret es el "mejor" y ret2 es el "peor". (A veces pienso que ret1 supera a ret ¡pero sus opiniones serán apreciadas aquí!

En primer lugar, trazo el resumen de rendimiento: enter image description here

Parece (para mí) que ret1 realiza "mejor" aquí y ret2 tiene un rendimiento significativamente peor. ret tiene un rendimiento "bueno" pero no tan bueno como ret1 .

También construyo una mesa:

                            ret   ret1    ret2
Sterling ratio           0.6498 0.5972 -0.1897
Calmar ratio             1.0049 0.8492 -0.2315
Burke ratio              0.5216 0.5335 -0.2180
Pain index               0.0486 0.0819  0.2473
Ulcer index              0.0639 0.1014  0.2893
Pain ratio               3.7812 2.4573 -0.4251
Martin ratio             2.8764 1.9832 -0.3634
daily downside risk      0.0109 0.0111  0.0155
Annualised downside risk 0.1736 0.1760  0.2455
Downside potential       0.0052 0.0057  0.0064
Omega                    1.1519 1.1561  0.9643
Sortino ratio            0.0725 0.0800 -0.0149
Upside potential         0.0060 0.0066  0.0062
Upside potential ratio   0.6851 0.8171  0.5045
Omega-sharpe ratio       0.1519 0.1561 -0.0357

No voy a pretender que conozco todos estos ratios, sino que me centro en algunos de ellos.

El calmar de la relación. Según aquí

Al igual que muchas otras estadísticas de riesgo, cuanto más alto sea el ratio Calmar mejor, ya que todo lo que sea superior a 0,50 se considera bueno. Un ratio Calmar de 3,0 a 5,0 es realmente bueno.

Tengo un calmar relación de 1 en el ret cartera, ret2 también lo hace bien y (como se esperaba) ret2 tiene un rendimiento significativamente peor.

El sortinio relación para ret es 0,0725 y según el enlace anterior.

Al igual que el ratio de Sharpe, cuanto mayor sea el ratio de Sortino, mejor. Un ratio de Sortino superior a 2 se considera bueno

Por lo tanto, el modelo funciona bastante mal aquí (pero no es negativo como ret2 - (que es lo que esperaba)).

También calculo boxplots:

enter image description here

Aquí ret tiene menos valores atípicos y una mediana ligeramente superior a 0 (mientras que ret1 tiene una mediana de 0). Los bigotes superior e inferior son más bajos para ret que ret1 . Como era de esperar ret2 tiene más valores atípicos.

Trazo algunos histogramas para cada uno de los rets:

Ret:

enter image description here

Ret1:

enter image description here

Ret2:

enter image description here

Trazo el riesgo frente a la rentabilidad a lo largo de todo el periodo de la muestra:

enter image description here

Aquí ret ofrece un poco menos de riesgo pero por un poco menos de rendimiento que ret1 , ret2 realiza lo peor con mucho riesgo para muy poca recompensa (recompensa negativa).

Las líneas de puntos son las líneas de proporción de la add.sharpe función aquí .

Por último, los ratios de Sharpe a lo largo de todo el periodo:

$ret
                                     ret
StdDev Sharpe (Rf=0%, p=95%): 0.05065042
VaR Sharpe (Rf=0%, p=95%):    0.03233440
ES Sharpe (Rf=0%, p=95%):     0.01946019

$ret1
                                    ret1
StdDev Sharpe (Rf=0%, p=95%): 0.04933280
VaR Sharpe (Rf=0%, p=95%):    0.04927053
ES Sharpe (Rf=0%, p=95%):     0.04927053

$ret2
                                      ret2
StdDev Sharpe (Rf=0%, p=95%): -0.011218491
VaR Sharpe (Rf=0%, p=95%):    -0.008795734
ES Sharpe (Rf=0%, p=95%):     -0.008795734

Nota: Se supone que no hay un tipo libre de riesgo.

Según la página web que he publicado:

Por lo general, un ratio de Sharpe de 1,0 o superior se considera bueno y esencialmente implica que por cada unidad de riesgo que se asumiendo que se está logrando una cantidad igual de rendimiento.

¿Qué más debería analizar al mirar las estrategias? He asumido que no hay stoploss o tasas de comercio aquí. No espero que los resultados sean perfectos, ya que hay mucho que ajustar y aprender, pero sólo quería algunas opiniones sobre lo que debería mirar:

EDITAR: Algunas estadísticas más que no tienen sentido para mí según la respuesta de @Alex C. Creo que tiene que ver con el paquete que espera datos anuales, pero puedo estar equivocado.

My monthly returns data looks like:

           monthly.returns monthly.returns.1 monthly.returns.2
2014-10-31      0.31300703       -1.05950399         0.2103726
2014-11-28     -0.94407654      -13.79310542        -0.6837739
2014-12-31    -11.38919360       -1.34805319        -2.2564406
2015-01-30      2.57937903        1.55551466         1.2042048
2015-02-27     -0.53271695       -0.84215383        -2.5552930
2015-03-31      0.40443868        0.57165252        -1.1988140
2015-04-30     -0.29099019       -2.83698548         3.0960736
2015-05-29     -0.20315710       -1.80347337        -1.7485224
2015-06-30     -2.03127120       -0.30070976        -1.9815004
2015-07-31     -1.33776052        0.83705216        -2.7873944
2015-08-31      0.03799118        0.07740692        -1.4738244
2015-09-30     -5.40018716       -1.83730222        -3.7984750
2015-10-30     -1.04588872       -3.44028262        -0.1901243
2015-11-30    -17.23191874       -1.28067884        -0.5782634
2015-12-31     -1.76482208       -1.79110801        -1.7985925
2016-01-29     -2.63276038       -6.40879157         8.0642941
2016-02-29     -1.44066825       -1.14646860        -0.9073987
2016-03-31     -3.21061844       -0.07678431        -1.4639840
2016-04-29     -1.37510936        4.92086759        -3.3602500
2016-05-31     -1.53425876       -1.70798303        -1.0820894
2016-06-30      1.84510924       -0.75581135        18.6766950
2016-07-29      2.20595138        0.78605900         0.3137152
2016-08-31     -1.19837390       -1.11504612        -0.8641222
2016-09-30     -2.34133741       -2.83416288         0.5659163
2016-10-31     -2.34808575       -0.75342881        -4.9078799
2016-11-30      0.50914533       36.76775004         0.2195158
2016-12-30     -0.47516184       -3.60001092        -0.7795050

Lo cual es extraño, ya que la mayoría son negativos.

Aquí está el código y los datos que utilizo (en R):

Código:

require(PerformanceAnalytics)
top_assets_ts_monthly <- lapply(top_assets_ts, function(x){periodReturn(x,
                                               period = 'monthly', type = 'arithmetic')})
top_assets_ts_monthly <- do.call(cbind, top_assets_ts_monthly)

Estoy bastante seguro de que me estoy equivocando con la primera línea, intentando convertir los rendimientos diarios en rendimientos mensuales.

Calculo la rentabilidad del riesgo utilizando:

chart.RiskReturnScatter(top_assets_ts[,c(1:3)],  # check this plot a little more
                        Rf=.03/252, scale = 252, # for daily data
                        add.sharpe = c(1,2,3), add.boxplots = TRUE,
                        main = "Risk - Return over the period", 
                        colorset=c("red", rep("black",5), "orange", "green"))

Nota: se trata sólo de las 100 primeras observaciones y no de la muestra completa (no tenía suficientes caracteres para proporcionar la muestra completa aquí). Datos:

top_assets_ts <- structure(c(0.0140353327356451, 0.0117110672882577, 0.000131625139482283, 
0.00289398426340548, 0.00170486357468502, 0.00136934115783549, 
-0.00313364096255542, 0.00533476828195045, -0.039504423712209, 
0.0184284904830112, 0.00380962858111955, 0.0108159848838707, 
0.00569492520349302, -0.00615801084082834, 0.0123377256193888, 
0.0175081713553744, 0.00511429340185399, -0.00239896587905408, 
0.00804616898926036, 0.0110866852649201, 0.00350886443830944, 
0.00247653540041992, 0.00566805955344662, 0.00231205347777874, 
-0.0100922615957871, 0.00917544181459484, -0.00274211142798242, 
-0.00131210147093985, 0.00103058486096685, -0.0150787470301469, 
-0.00332994356224525, 0.011340935386849, 0.00135858767772512, 
0.00660060948582553, -0.014869805803567, 0.00418190032077481, 
-0.0264851728007882, 0.00496988301033063, 0.00128649165239314, 
-0.0067011395447516, -0.0116747577382633, 0.0129465431637399, 
-0.00384767793349039, 0.00558742004663193, 0.0143258065778513, 
-0.00354162361799526, -0.00265430849957271, 0.00555369389192228, 
-0.00310670808251789, -0.00919367586529474, -0.0107069456434369, 
-0.00302048881022543, -0.0168901008594784, -0.0231770502430388, 
0.0105997626218366, 0.0211058298870999, -0.0117486457622904, 
0.00749854157285679, -0.00788687306126101, -0.00644094445066123, 
-0.0070918522539446, 0.0156833317650356, 0.00696861412574079, 
0.00592569068002979, 0.0287188801045939, 0.00895822882006647, 
0.0172501277143646, -0.0294264353828646, -0.0257833396772131, 
0.03113352854116, -0.0383242166737916, 0.00859042109474961, 0.0001688794218766, 
-0.00995387969608341, 0.014579424751366, 0.00386802223864979, 
-0.00311924137722175, 0.000313336802259201, 0.0175555255338335, 
0.0126519591329122, 0.0205153644495752, 0.00657289726120358, 
-0.0164800657792912, -0.00209791589678787, 0.00173591068198609, 
-0.00805743875947063, -0.0017633068654036, -0.00287533380314919, 
-0.0248175960278338, -0.0179082567885459, 0.00490426599102567, 
-0.0141386487343111, -0.006338711014795, -0.0165707113480148, 
-0.0135604326930069, 0.00426543710641281, -0.0263114311416919, 
-0.0182314117317652, 0.00752559255835994, -0.0111490814645889, 
0.0395735288086938, 0.022612151628804, -0.0111407037840094, 0.017865807897461, 
0.00372023824220413, 0.00274925690109207, 0.0150340939041098, 
0.00562107249979982, 0.00428606304510692, -0.00235478295560554, 
-0.00639269873771675, -0.00731245906203071, 0.00600720758474549, 
0.000404782154500793, -0.0070964263760217, 0.00666254206304662, 
0.0037605532909033, -0.00160251268861533, 0.0141123770379381, 
0.0120545879005076, -0.00166413971360935, 0.0137266611546165, 
-0.0103714049943422, -0.00482428183591921, -0.0100138282003625, 
0.00904912351487952, -0.020983563716534, 0.00944808738007175, 
0.0301249865882545, -0.00214741597173707, 0.000950914110429579, 
-0.00452130495958358, 0.015806845671092, 0.00560595273252007, 
-0.0151104620291005, 0.0191103075702628, -0.00234665618947738, 
-0.000493502044113914, -0.0246913500422812, -0.00673854483765746, 
-0.0550113322238935, 0.0082396565378684, 0.0198545819017795, 
0.0102719022966546, 0.00671433561955936, 0.00324164394013038, 
-0.00639816304505669, -0.00540099496466728, -0.00940829424867906, 
-0.000452134593347697, -0.010485097567134, -0.00182076297403277, 
-0.00836162284595299, -0.0186371393649587, 0.0209752072736946, 
0.0275298354114371, -0.00579305838740607, -0.0246406544385241, 
0.00887864353405465, -0.0302318655728798, -0.0240524886817025, 
-0.00698111045286953, -0.00232244689533567, 0.00692046845887684, 
0.0263501972484455, 0.00290582199395861, -0.00424003586688837, 
-0.0350131524220343, -0.0137958651441119, 0.0230850215919471, 
-0.0267948205128204, -0.0112999255900668, 0.00775209162412627, 
0.00576909072282761, 0.00605479829702782, -0.000573849292479056, 
0.00664277936021551, -0.0224007185122569, -0.0108830680959567, 
0.00541130756205788, 0.0123551020478396, 0.00828150590135568, 
0.0108519507218849, -0.000968265051064288, 0.00758527990035618, 
-0.0130624871755511, -0.00624049792008041, -0.00761987344671444, 
0.00271026672727515, -0.00422945975052524, 0.000357595393776666, 
0.00117420588194217, 0.0163317089530581, 0.0133517610437088, 
-0.0199571752041959, -0.00712410930823371, -0.00977339097941599, 
-0.00690078614315015, 0.0175325512440379, -0.00572301771821182, 
0.0131665574654334, 0.0181487979275285, -0.0234715405433169, 
0.0211559623652049, -0.0179970387692995, -0.0145966235899346, 
-0.0984349650239917, -0.00667182367193941, -0.010046393347678, 
0.0159364407156135, 0.0129629858166871, 0.00670358630009038, 
0.00239406415870369, 0.0017772766066606, 0.00502229463250292, 
0.0116218228822431, -0.000408982310846739, -0.00541536680255361, 
0.0472220788600579, 0.00801675881400254, -0.014550725697471, 
0.012983649852742, 0.00495496271407592, -0.00489379268682522, 
0.00203807070755624, 0.00886011785810781, -0.00526946040646803, 
-0.00438754166819533, 0.00503951921213752, -0.0646861732301786, 
0.000723050205138964, -0.0114060178778491, 0.000801400547808084, 
-0.00773392607027779, -0.019159997134632, -0.00230620822550309, 
-0.0221899088032583, 0.000927324159435639, -0.000448307073380283, 
-0.0107928045536989, -0.0466756334695052, 0.00840185241708502, 
0.0203015783928482, 0.0029463183332008, 0.00802602493758453, 
0.00979548590592372, -0.00258895746306775, 0.00321337769716568, 
-0.00985370312508704, -0.00999745101215144, -0.00633185664836566, 
0.00398994018734267, -0.0112761568630952, -0.0134732474809368, 
0.0140221152836961, 0.00683592892947171, -0.0138273726416174, 
-0.00435251576686624, -0.00126804190566221, 0.0043923173670728, 
0.00889016653494568, 0.0125351001141936, -0.00735290211997119, 
0.0102587953516757, 0.0172413308920882, 0.00231809395188409, 
-0.00230786585371068, 0.0170414481485293, -0.00320061047290576, 
0.0103665657797047, -0.0139567086699802, 0.012546707552392, 0.0246344159571252, 
-0.0122440161938737, 0.0107987609329967, -0.000942401700941287, 
-0.016260005688054, 0.0100752281011491, -0.0164550710813862, 
0.00947370526315794, 0.0180021539013566, 0.00590185636179319, 
0.00696251104274359, 0.0017389110496282, 0.0093389325035842, 
-0.00452190757384341, -0.00407749497247745, -0.0122549781516889, 
-0.00883625003653288, 0.0217067707396039, 0.0235962783673391, 
-0.00702703324441645, 0.0112712551919041, 0.00383185404618391, 
-0.0117267554999964, 0.0157006727793503, -0.0243297126025714, 
-0.0109094091794951, -0.00452407137842425, 0.00422093732202589
), class = c("xts", "zoo"), .indexCLASS = "Date", tclass = "Date", .indexTZ = "UTC", tzone = "UTC", index = structure(c(1413763200, 
1413849600, 1413936000, 1414022400, 1414108800, 1414368000, 1414454400, 
1414540800, 1414627200, 1414713600, 1414972800, 1415059200, 1415145600, 
1415232000, 1415318400, 1415577600, 1415664000, 1415750400, 1415836800, 
1415923200, 1416182400, 1416268800, 1416355200, 1416441600, 1416528000, 
1416787200, 1416873600, 1416960000, 1417132800, 1417392000, 1417478400, 
1417564800, 1417651200, 1417737600, 1417996800, 1418083200, 1418169600, 
1418256000, 1418342400, 1418601600, 1418688000, 1418774400, 1418860800, 
1418947200, 1419206400, 1419292800, 1419379200, 1419552000, 1419811200, 
1419897600, 1419984000, 1420156800, 1420416000, 1420502400, 1420588800, 
1420675200, 1420761600, 1421020800, 1421107200, 1421193600, 1421280000, 
1421366400, 1421712000, 1421798400, 1421884800, 1421971200, 1422230400, 
1422316800, 1422403200, 1422489600, 1422576000, 1422835200, 1422921600, 
1423008000, 1423094400, 1423180800, 1423440000, 1423526400, 1423612800, 
1423699200, 1423785600, 1424131200, 1424217600, 1424304000, 1424390400, 
1424649600, 1424736000, 1424822400, 1424908800, 1424995200, 1425254400, 
1425340800, 1425427200, 1425513600, 1425600000, 1425859200, 1425945600, 
1426032000, 1426118400, 1426204800), tzone = "UTC", tclass = "Date"), .Dim = c(100L, 
3L), .Dimnames = list(NULL, c("ret", "ret1", "ret2")))

1 votos

Algo que no entiendo. Mirando tu gráfico ret1 tiene una rentabilidad anualizada de unos 0,20 y un riesgo anualizado de unos 0,28. Así que el ratio de Sharpe es (0,20-0,0)/0,28 =0,714. ¿Por qué informas de un ratio de Sharpe de sólo 0,049 en la última tabla, y cuál es el significado de "p=95%" en esa tabla?

0 votos

Gracias por señalarlo. Es uno de los tipos de cosas sobre los que esperaba recibir preguntas. Estoy usando el performanceAnalytics que en su mayoría espera monthly datos y tengo datos diarios. Así que creo que hay un problema con la alimentación de los datos "correctos" al paquete. Haré una pequeña edición con algo más de análisis y código donde tengo más dudas.

0 votos

He añadido un poco de datos y algo de código (en R). Supongo que es un error que estoy cometiendo.

1voto

zdd Puntos 523

Es casi imposible que alguien te diga cómo elegir estrategias exitosas. Es un poco como preguntar "¿cómo escribo una novela de éxito?". Es un arte y una ciencia a partes iguales, por no mencionar que se basa en gran medida en la experiencia y la comprensión de la estrategia subyacente.

Sin embargo, un par de comentarios generales:

(1) Sus ratios de Sharpe son bastante bajos. Puedes obtener algo en los altos 0s (es decir, 0,7) con una simple estrategia de compra y mantenimiento de acciones durante ciertos períodos. ~.05 es básicamente indistinguible de 0.
(2) La anualización no es un problema tan grande como el hecho de que sus rendimientos sean mayoritariamente negativos. La anualización es importante para obtener la respuesta correcta, obviamente, pero si estás perdiendo dinero la mayoría de los meses, no tiene sentido afinar.

De lo contrario, le sugiero que vuelva a evaluar e intente plantear preguntas más específicas para la comunidad. No hay mucho que hacer con una simple colección de código y estadísticas con un "cómo interpretar esto" abierto.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X