《中文Python穿云箭量化平台二次开发技术11》股票基本信息获取分析及应用示例【前十大股东占股比例提取及分析】

《中文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】文件中了。
在这里插入图片描述
参照上面代码示例,同样可以获取到其他信息,例如【财务分析】资料等。
在这里插入图片描述
可以自己编写程序,通过循环处理全部股票,从中筛选出有机构大量增持的股票,做为股票池。然后用技术分析指标进行择时买入,这样投资胜算更大。

好了,欢迎继续关注我的博客。后面我们介绍更多的二次开发技术。
超越自己是我的每一步!我的进步就是你的进步!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荷蒲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值