量化投资-短线情绪绘图分析

ID:399899
注: 这里使用的数据源是Tushare

量化投资-短线情绪绘图分析_第1张图片
我们知道涨停跌停的情况最能反应短线情绪,这里利用tushare提供的历史涨停数据,绘制涨停变化情况等来帮助我们对行情情况有一个判断,知道当前处于什么情绪中。

import pandas as pd
import tushare as ts
import matplotlib.pyplot as plt
pro = ts.pro_api('------token码 这个在tushare主页获取----------')
pro = ts.pro_api()
#解决中文显示问题
plt.rcParams['font.sans-serif'] = ['KaiTi']  # 指定默认字体
plt.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题

tradeCal = pro.trade_cal(is_open=1).cal_date.tolist()
startIdx = tradeCal.index('20220909') # 需要绘图的最后一个交易日时间
data = []
for i in range(startIdx,startIdx-10,-1): # 这里演示的是十天的 根据需要绘制
    # print(tradeCal[i])
    df = pro.limit_list_d(trade_date=tradeCal[i], limit_type='U',
                          fields='ts_code,trade_date,limit_times')
    df1 = pro.limit_list_d(trade_date=tradeCal[i], limit_type='D',
                          fields='ts_code,trade_date,limit_times')
    lb = df[df['limit_times']>1].shape[0]
    zgb = df.sort_values(by='limit_times',ascending=False).iloc[0,2]
    data.append([tradeCal[i],df.shape[0],lb,zgb,df1.shape[0]])

data = pd.DataFrame(data,columns=['日期','涨停数','连扳数','最高板','跌停数'])
data = data.set_index('日期')
data.plot(figsize=(18,8),grid=True,title='短线情绪分析',linestyle='-',marker='o',markeredgecolor='r')

量化投资-短线情绪绘图分析_第2张图片
在这里我做的是一个演示大家根据需求去绘制需要的数据的图更佳。这里的涨停数以及最高板有一个问题那就是没有排除次新股。在绘制的时候根据需要可以将他移除再绘图更准确。

你可能感兴趣的:(股票,金融,python,pandas,数据分析)