Soy un principiante con la replicación de la ETF: Tengo que hacer un código para que el valor de mis activos vuelva a la media del índice Eurostoxx 50 con un subconjunto de componentes. No estoy seguro de cómo implementarlo.
Tengo entendido que, normalmente, una estrategia de reversión a la media transversal se alimenta de un universo de acciones, donde cada acción tiene sus rendimientos relativos en comparación con los rendimientos medios del universo.
- una acción con un rendimiento relativo positivo se pone en corto
- se compra una acción con una rentabilidad relativa negativa
¿Pero es lo que tengo que adaptar para replicar un ETF?
Sé cómo codificar una estrategia de reversión de la media:
from backtesting import Backtest, Strategy
from backtesting.lib import crossover
from backtesting.test import SMA, GOOG
class SmaCross(Strategy):
def init(self):
Close = self.data.Close
self.ma1 = self.I(SMA, Close, 10)
self.ma2 = self.I(SMA, Close, 20)
#self.boll = bt.indicators.BollingerBands(period=self.p.period, devfactor=self.p.devfactor)
def next(self):
if crossover(self.ma1, self.ma2):
self.buy()
elif crossover(self.ma2, self.ma1):
self.sell()
bt = Backtest(GOOG, SmaCross,
cash=10000, commission=.002)
bt.run()
bt.plot()
Pero, primero no sé cómo hacer la reversión media para volver al índice (SX5E) y, segundo, no sé cómo adaptar mi conjunto de datos al que Backtest
está esperando ('data' must be a pandas.DataFrame with columns 'Open', 'High', 'Low', 'Close', and (optionally) 'Volume
).
El aspecto de mi conjunto de datos es totalmente accesible aquí y tiene el siguiente aspecto:
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:00:00 65.65 22.870 212.40 109.95 113.32 69.24 162.14 67.25 68.79 5.2590 73.67 67.18 43.275 27.60 21.830 53.00 82.42 26.680 14.455 106.60 5.314 14.065 15.220 49.910 48.500 25.805 7.372 11.338 2.0830 26.22 484.20 152.80 303.55 207.1 5.3660 222.0 13.320 35.105 118.40 72.93 4.1550 94.00 97.30 68.64 7.573 143.46 24.23 150.30 3279.78
2019-02-27 09:10:00 65.69 22.490 212.20 109.90 113.20 69.16 162.32 67.21 67.96 5.2310 73.59 67.16 43.045 27.53 21.840 52.82 82.50 26.700 14.485 107.05 5.320 14.065 15.212 49.925 48.530 25.700 7.364 11.300 2.0790 26.09 483.90 152.95 303.20 206.8 5.3540 221.6 13.360 35.095 118.75 72.95 4.1265 94.27 97.20 68.76 7.558 143.04 24.25 149.80 3275.70
... ...
La última columna es el índice.
0 votos
¿Qué quiere decir con "hacer que el valor de mis activos vuelva a la media"?
0 votos
También debe tener cuidado con esto: si simula sus activos subyacentes con una reversión a la media incorporada, para poder realizar un backtest de una estrategia de reversión a la media, está introduciendo un sesgo.