量化策略——跟随龙虎榜交易
import pandas as pdimport numpy as np
#efinance是金融数据包,可免费爬取东方财富交易数据
#直接使用pip install efinance安装
import efinance as ef
import matplotlib.pyplot as plt
#seaborn、plotly可视化包
import seaborn as sns
import plotly_express as px
import warnings
warnings.simplefilter(action='ignore', category=FutureWarning)
from pylab import mpl
mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False
#使用efinance包获取2014年至2022年8月5日数据
board_data=ef.stock.get_daily_billboard(start_date='2014-01-01',end_date='2022-08-05')
#保留需要的数据特征
cols=['股票代码','股票名称','上榜日期','收盘价','涨跌幅','换手率','龙虎榜净买额','流通市值','上榜原因','解读']
#有些股票可能因不同原因上榜,剔除重复记录样本
board_data=board_data[cols].drop_duplicates(['股票代码','上榜日期'])
board_data.head()
#剔除退市、B股和新股N
s1=board_data['股票名称'].str.contains('退')
s2=board_data['股票名称'].str.contains('B')
s3=board_data['股票名称'].str.contains('N')
s=s1|s2|s3
final_data=board_data[-(s)]
final_data.describe()
d1=pd.DataFrame(counts).rename(columns={'股票代码':'上榜次数'}).reset_index()
d2=final_data[['股票代码','股票名称']].drop_duplicates()
dd=pd.merge(d1,d2,how='inner').drop_duplicates('股票代码').reset_index(drop=True)
sns.displot(dd['上榜次数'],kde=True);

fig = px.treemap(dd[:100],
path=['股票名称'],
values='上榜次数', color='上榜次数',
color_continuous_scale=['Green','Red',"#8b0000"])
fig.data[0].texttemplate = "%{label}<br>%{customdata}"
fig.update_traces(textposition="middle center",
selector=dict(type='treemap'))
fig.update_layout(margin = dict(t=30, l=10, r=10, b=10))
fig.update(layout_coloraxis_showscale=False)
fig.show()
郑重声明: 本文只是个人(本单位)复盘记录,文内提到的所有信息仅为分享和盘面结构梳理,不构成投资或投机建议,买卖自行决策,结果自己负责。
购买点数和充值VIP全部支持支付宝或微信扫码支付,登陆会员中心侧面板>>财务选择相关操作即可。
在线预览主旨方便移动设备使用和临时查看,直观浏览,对需要的文章再下载,预览了的文件且能秒速下载。
阅读与下载说明
1.『会员阅览(扣点)』为普通会员扣点(1元=1点)通道,已浏览过的只扣一次。
2.『VIP阅览 (VIP)』 为VIP特权通道,充值成VIP用户直接无任何限制高速在线阅览,VIP会员分包月,包年和终身VIP三种。
3.『免费阅览(免费)』为未付费会员通道,可无任何限制免费阅览该资源,推荐购买点数或充值VIP,以获取超值资源。
4. 阅览的资讯文件过大,根据您的网速而会有相应的延迟,请耐心等待;如果提示其他问题请联系客户解决。
购买点数和充值VIP全部支持支付宝或微信扫码支付,登陆会员中心侧面板>>财务选择相关操作即可。
在线预览主旨方便移动设备使用和临时查看,直观浏览,对需要的文章再下载,预览了的文件且能秒速下载。