date_start='2021-01-01'
date_end='2021-08-16'
df1=DataSource('bar1d_CN_FUND').read(instruments=['510300.HOF'],start_date=date_start,end_date=date_end,fields=['close'])#沪深300 1
df2=DataSource('bar1d_CN_FUND').read(instruments=['512010.HOF'],start_date=date_start,end_date=date_end,fields=['close'])#医药2
df3=DataSource('bar1d_CN_FUND').read(instruments=['518880.HOF'],start_date=date_start,end_date=date_end,fields=['close'])#黄金3
df4=DataSource('bar1d_CN_FUND').read(instruments=['513100.HOF'],start_date=date_start,end_date=date_end,fields=['close'])#纳斯达克4
df5=DataSource('bar1d_CN_FUND').read(instruments=['511220.HOF'],start_date=date_start,end_date=date_end,fields=['close'])#城投债5
df6=DataSource('bar1d_CN_FUND').read(instruments=['511010.HOF'],start_date=date_start,end_date=date_end,fields=['close'])#国债6
df7=DataSource('bar1d_CN_FUND').read(instruments=['159928.ZOF'],start_date=date_start,end_date=date_end,fields=['close'])#消费7
df8=DataSource('bar1d_CN_FUND').read(instruments=['159915.ZOF'],start_date=date_start,end_date=date_end,fields=['close'])#创业板8
#df7['close']=df7['close']/bar1d_CN_FUND_adjust_factor
#可以看到消费ETF和医药ETF由于基金份额拆分,价格断开了。请教如何让基金的除权拆分的影响消除?
#建议增加公募基金的数据,本来是想组合公募基金的。目前只能用ETF数据替代。
df1.set_index('date',inplace=True)
df2.set_index('date',inplace=True)
df3.set_index('date',inplace=True)
df4.set_index('date',inplace=True)
df5.set_index('date',inplace=True)
df6.set_index('date',inplace=True)
df7.set_index('date',inplace=True)
df8.set_index('date',inplace=True)
d1=(df1['close']/df1['close'].shift(1)).dropna()
d2=(df2['close']/df2['close'].shift(1)).dropna()
d3=(df3['close']/df3['close'].shift(1)).dropna()
d4=(df4['close']/df4['close'].shift(1)).dropna()
d5=(df5['close']/df5['close'].shift(1)).dropna()
d6=(df6['close']/df6['close'].shift(1)).dropna()
d7=(df7['close']/df7['close'].shift(1)).dropna()
d8=(df8['close']/df8['close'].shift(1)).dropna()
#duoyu
years=len(df1.values)/245
r1=100*(df1['close'][-1]/df1['close'][0]-1)/years
r2=100*(df2['close'][-1]/df2['close'][0]-1)/years
r3=100*(df3['close'][-1]/df3['close'][0]-1)/years
r4=100*(df4['close'][-1]/df4['close'][0]-1)/years
r5=100*(df5['close'][-1]/df5['close'][0]-1)/years
r6=100*(df6['close'][-1]/df6['close'][0]-1)/years
r7=100*(df7['close'][-1]/df7['close'][0]-1)/years
r8=100*(df8['close'][-1]/df8['close'][0]-1)/years
re1=d1.cumprod()
re2=d2.cumprod()
re3=d3.cumprod()
re4=d4.cumprod()
re5=d5.cumprod()
re6=d6.cumprod()
re7=d7.cumprod()
re8=d8.cumprod()
dff2=re1.to_frame()
dff2['d2_df']=re2
dff2['d3_df']=re3
dff2['d4_df']=re4
dff2['d6_df']=re6
dff2['d7_df']=re7
dff2['d8_df']=re8
dff2.columns=['沪深300','医药','黄金','纳指','国债','消费','创业板']
#-----------------------打印画图------------------------------------
T.plot(dff2, output='display', stock=None, double_precision=2,title="大类资产战略配置", chart_type=None, x=None, y=None,candlestick=False,panes=None, options=None)