今天把A股的全部数据导出做了一些赚钱日历分析,看那个月赚钱容易,那个月赚钱困难
导入需要的库
import pandas as pd
import matplotlib.pyplot as plt
import quantstats as qs
from trader_tool.index_data import index_data
from trader_tool import jsl_data
from trader_tool.jsl_bond_data import jsl_bond_data
import matplotlib.pyplot as plt
import seaborn as sns
import statsmodels.api as sm
# 支持中文
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
获取上证指数的历史数据,月数据
#上整指数
index=index_data(stock='000001',start_date='20140101',end_date='20500101',data_type='M')
df=index.get_index_hist_data()
df
月度收益分布
#月收益分布
df[-48:].plot.bar(x='date',y='涨跌幅',title='上证指数收益分布',figsize=(12,6))
plt.show()
最近一年的情况
#最近一年的情况
df[-12:].plot.bar(x='date',y='涨跌幅',title='上证指数收益分布最近一年的情况',figsize=(12,4))
plt.show()
最近2年
#最近二年的情况
df[-24:].plot.bar(x='date',y='涨跌幅',title='上证指数收益分布最近二年的情况',figsize=(12,4))
plt.show()
每一个月的平均收益
#每个月平均收益绘制
df['标记']=df['date'].apply(lambda x:str(x).split('-')[1])
df1=df.groupby(by='标记').mean()
df1['标记']=df1.index
df1
一份和收益有一定的正相关
#相关性,收益和月份的相关性
df1['标记']=pd.to_numeric(df1['标记'])
sns.regplot(data=df1,x='标记',y='涨跌幅')
plt.show()
#每一个月的赚钱情况
df1.plot.bar(x='标记',y='涨跌幅',title='每一个月的赚钱情况10年',figsize=(12,6))
plt.show()
指数20年的报告
#指数报告
index=index_data(stock='000001',start_date='19980101',end_date='20500101',data_type='D')
df=index.get_index_hist_data()
df
交易报告
#指数交易报告
df.index=pd.to_datetime(df['date'])
qs.reports.full(returns=df['close'].pct_change())
程序放在综合交易模型下面直接运行