01 数据准备
(1)A 股:沪深 300 指数、中证 500 指数; 创业板50(399673.SZ)
(2)港股:恒生指数;
(3)美股:标普 500、纳指100指数(ADX);
(4)欧洲:富时100、巴黎CAC40、德国DAX指数,日经225指数
(5)债券:上证企债(000013.SH)
(6) 石油、黄金。
欧洲三大指数:富时100指数 (FTSE 100) 由世界级的指数计算金融机构FTSE(富时集团)所编制,自1984年起,涵盖在伦敦证券交易所交易的上市而市值最大的100支股票,为世界投资人欢迎的金融商品之一,和法国的CAC-40指数,德国的法兰克福指数并称为欧洲三大股票指数,是当前全球投资人观察欧股动向最重要的指标之一。
上述指数,除纳指100之外,tushare上都可以下载。这个之前的代码给过了。
纳指100可以通过pandas datareader获取。
import pandas as pd
import pandas_datareader as pdr ## 导入包
import pandas_datareader.data as web
from engine.config import DATA_DIR_HDF5_ALL symbol = 'ADX' df = web.DataReader(symbol, 'stooq', start='2001-01-01') ##默认导入的是最近5年的数据 cols = {col: col.lower() for col in df.columns} df.rename(columns=cols, inplace=True) print(df) with pd.HDFStore(DATA_DIR_HDF5_ALL.resolve()) as store: store[symbol] = df
2005年到现在的,够用了。
黄金与原油的数据需要再看看。
02 数据加载
def load_returns(self, symbols): df = self.load_one_df(symbols, names=['return'], fields=['$close/Ref($close,1)-1']) returns = df.pivot_table(index='date', columns='code', values='return') returns.dropna(inplace=True) return returns
指数有一部分现金分红没有体现出来,沪深300和恒生看指数基本是没能收益,这不应该,全收益指数比这个表现好。另外欧洲与日本趋势类似,纳指100一骑绝尘。
03 等权组合
from engine.strategy.algos import RunQuarterly, SelectAll, WeightRP, SelectTopK, PickTime, WeightEqually from engine.datafeed.dataloader import Dataloader e.run_algo_strategy([RunQuarterly(), SelectAll(), WeightEqually()]) e.analysis(pyfolio=True)
等权组合,交易很差,年化1%,最大回撤还达到20%。
04 风险平价组合
年化有5%左右,比等权组合有明显提升。
from engine.strategy.algos import RunQuarterly, SelectAll, WeightRP, SelectTopK, PickTime, WeightEqually from engine.datafeed.dataloader import Dataloader loader = Dataloader() # e.run_rl_strategy() e.run_algo_strategy([RunQuarterly(), SelectAll(), WeightRP(returns_df=loader.load_returns(symbols))]) e.analysis(pyfolio=False)
05 主成份风险平价
from engine.strategy.algos import RunQuarterly, SelectAll, WeightRP, SelectTopK, PickTime, WeightEqually from engine.datafeed.dataloader import Dataloader loader = Dataloader() # e.run_rl_strategy() e.run_algo_strategy([RunQuarterly(), SelectAll(), WeightRP(returns_df=loader.load_returns(symbols), method='pca')]) e.analysis(pyfolio=False)
使用主成分风险平价,年化收益达到8%。
风险平价给定投资组合里各个资产的基准权重。
根据动量,基本面因子等,对基准权重进行修正,同时基于RSRS对于各指数进行方向性择时,当然还可以根据均线形态等进行止损等操作。
数据,notebook前前往星球专栏下载。
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/104198
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!