《中文Python穿云箭量化平台二次开发技术11》股票基本信息获取分析及应用示例【前十大股东占股比例提取及分析】
《中文Python穿云箭量化平台》是纯Python开发的量化平台,因此其中很多Python模块,我们可以自己设计新的量化工具,例如自己新的行情软件、新的量化平台、以及各种量化研究工具。
穿云箭自带指标公式源码运行模块,可以为其他量化平台提供量化功能扩展或量化功能增强效果。
《中文Python穿云箭量化平台》包含有行情接口,指标运算模块,K线和指标显示模块。我们在投资分析研究和策略中,有很多可利用的资源和信息。
我们可以利用股票行情模块HP_tdx获取股票F10基本信息。通过对股票基本信息研究挖掘出投资机会。
可以参考博客《中文Python穿云箭量化平台二次开发技术04》获取股票行情模块HP_tdx的说明、股票代码格式转换及应用示例【股票基本信息资料查询工具】
获取股票信息的代码如下:
import HP_tdx as htdx #穿云箭量化行情模块
hq=htdx.TdxInit() ##初始化通达信
#m,code=0,'000001' #市场编码,代码
m,code=1,'600198' #市场编码,代码
t=htdx.get_F10A(m,code,'最新提示') #可以选其他项目,如:最新提示,财务分析等等,
返回t就是文本信息。
我们以【股东研究】为例子,分析一下其中的机构和个人持股比例。
下面给出运行代码。
import pandas as pd
import time,datetime
import HP_tdx as htdx #穿云箭量化行情模块
hq=htdx.TdxInit() ##初始化通达信
#m,code=0,'000001' #市场编码,代码
m,code=1,'600198' #市场编码,代码
###########################获取及提取数据
t=htdx.get_F10A(m,code,'股东研究')
s1=t.find('【2.股东变化】',100)
t2=t[s1:s1+2500]
t3=t2.split('\r\n')
ll=[]
xm=[]
kg=False
for s in t3:
if ('股东名称' in s) and kg==False:
kg=True
s2=s.split(' ')
xm=[]
for k in s2:
if len(k)>0:
xm.append(k)
continue
elif ('股东名称' in s) and kg:
kg=False
break
if kg:
if len(s)>16 and ('─' not in s):
s2=s.split(' ')
tt=[]
for k in s2:
if len(k)>0:
tt.append(k)
#print(tt)
ll.append(tt)
df=pd.DataFrame(ll)
i=0
for x in xm:
df=df.rename(columns={i:x})
i=i+1
df['sc']=0
for i in range(len(df)):
if df.iloc[i,2]==None:
df.loc[i,'sc']=1
continue
df=df[df.sc==0]
del df['sc']
df['code']=code
df=df.reset_index(level=None, drop=True ,col_level=0, col_fill='')
print(df)
df.to_csv('ls.csv' , encoding= 'gbk')
#######################################股东研究
#设计微信18578755056
机构=0
个人=0
前十大股东占股比例=0
for i in range(len(df)):
gdmc=df.股东名称.iloc[i]
gdmc=gdmc.strip()
前十大股东占股比例=前十大股东占股比例+float(df['占总股本比%'].iloc[i])
if len(gdmc)>4:
机构=机构+float(df['占总股本比%'].iloc[i])
else:
个人=个人+float(df['占总股本比%'].iloc[i])
print('前十大股东占股比例',前十大股东占股比例)
print('其中机构占',round(机构,2),'% ,个人占',round(个人,2),'%')
程序运行结果如下:
程序同时把结果也保存到【ls.csv】文件中了。
参照上面代码示例,同样可以获取到其他信息,例如【财务分析】资料等。
可以自己编写程序,通过循环处理全部股票,从中筛选出有机构大量增持的股票,做为股票池。然后用技术分析指标进行择时买入,这样投资胜算更大。
好了,欢迎继续关注我的博客。后面我们介绍更多的二次开发技术。
超越自己是我的每一步!我的进步就是你的进步!