问财是同花顺平台上一款专业的财经AI助手,融合了自然语言和语音问答机器人。问财提供了多维度的股票、基金、债券数据,并支持自然语言搜索,能够轻松查找所需的信息。对个人投资者来说,问财最好用的功能它的条件选股和短线复盘功能。目前同花顺软件电脑版和手机版都能轻松访问问财。

那么如何使用 Python 访问数据接口,直接获取问财的数据呢?GitHub上开源了一个wencai接口:https://github.com/GraySilver/wencai,网上也分享了一些相关教程,但直接安装后调用接口会报错,发现源代码有一点点的 bug 。于是公众号在wencai 库的基础上进行了修改,只保留其选股和数据获取功能,并融入qstock的数据获取模块 data 中,使读者基于 qstock 能实现一行代码轻松获取问财数据。

qstock由“Python金融量化”公众号开发,试图打造成个人量化投研分析开源库,目前包括数据获取(data)、可视化(plot)、选股(stock)和量化回测(backtest)四个模块。其中数据模块(data)数据来源于、同花顺、新浪财经等网上公开数据。qstock致力于为用户提供更加简洁和规整化的金融市场数据接口,其中可视化模块为用户提供基于web的交互图形简单操作接口;选股模块提供了同花顺的技术选股和公众号策略选股,包括RPS、MM趋势、财务指标、资金流模型等,回测模块为大家提供向量化(基于pandas)和基于事件驱动的基本框架和模型。

qstock是免费开源金融量化库,已在pypi官网和GitHub上发布,更新至1.3.4版本,添加了问财的数据访问功能,通过qstock.wencai(‘选股条件’)调用。使用“pip install qstock ”进行安装,通过’pip install –upgrade qstock’进行更新。目前部分策略选股和策略回测功能仅供知识星球会员使用,会员可在知识星球置顶帖子上获取 qstock 的离线安装包。

PyPI:https://pypi.org/project/qstock/1.3.4/

GitHub地址:https://github.com/tkfy920/qstock

关于 qstock 更详细的使用方法,请参考 qstock 专题系列文章(点击跳转):

【qstock开源了】数据篇之行情交易数据

【qstock数据篇】行业概念板块与资金流

【qstock量化】数据篇之股票基本面数据

【qstock量化】数据篇之宏观指标和财经新闻文本

【qstock量化】动态交互数据可视化

【qstock量化】技术形态与概念热点选股池

【手把手教你】使用qstock实现量化策略选股

【手把手教你】使用qstock进行量化回测

基于qstock的量化复盘与自动盯盘

import qstock as qs

02 复盘

关于问财的功能和调用大家可以参考其官网,其数据功能和条件选股主要包括以下几个方面:

  • 技术面:均线 资金流入 MACD KDJ RSI BOLL CCI BIAS 形态 WR MTM
  • 行情面:涨跌幅 DDE大单净量 DDE大单净额 委比 振幅 换手率 成交量 成交额 股价 分时指标 强势股
  • 基本面:总股本 总市值 流通市值 流通比例 十大股东持股比例 股东户数 户均持股数 增减持 机构持股 分红 上市天数
  • 财务面:销售毛利率 市盈率 市净率 市销率 净利润增长率 营业收入增长率 每股收益 每股收益率增长率 净利润 每股净资产 每股现金流 每股未分配利润 每股资本公积 净资产收益率 每股股利 资产负债率
  • 阶段表现 创阶段新高 创阶段新低 阶段缩量 平台整理 平台突破 阶段涨幅 阶段换手 阶段振幅
  • 特色数据 机构净额 龙虎榜机构买入占比 机构评级 关注度 涨停
  • 范围选择 市场 申万行业 地区板块 概念板块

(1)涨停复盘

问财支持自然语言输入条件选股,不同条件之间使用逗号或分号或空格分开。注意输入参数需要使用单引号或双引号得到字符串格式。

df=qs.wencai('涨停,非ST,上市时间大于1个月')

df[['股票简称','最新价','连续涨停天数','首次涨停时间','最终涨停时间','涨停原因类别','涨停封单额','涨停封单量占流通a股比']]

df=qs.wencai('近5日涨停次数排名前20,非ST,上市时间大于1个月')

df.head(10)

(2)阶段表现

阶段表现选股可以输入条件:如创阶段新高、创阶段新低、阶段缩量、平台整理、平台突破、阶段涨幅、阶段换手、阶段振幅,时间周期可以自己定,比如250日。

df=qs.wencai('250日新高,非ST,沪深A,上市时间超过250天')

df=df[['股票代码','股票简称','最新价','最新涨跌幅','技术形态','买入信号inter']]

#查看前10名创新高个股

df.head(10)

期间涨幅跌幅排名

qs.wencai('今年以来涨幅最大的前20名,非ST')

qs.wencai('今年以来跌幅最大的前20名,非ST')

热门股

df=qs.wencai('热门股')

df.head(10)

板块热点

近期热门概念热点

qs.wencai('概念板块近14日累计涨幅排名前10')

df=qs.wencai('虚拟电厂概念股')

df.head(10)

03 选股

问财选股功能非常强大,可以实现多个维度全市场扫描和条件组合选股。

(1)技术指标组合选股

qs.wencai('均线多头排列,MACD金叉,KDJ金叉')

qs.wencai('股价大于20日均线,MACD金叉,换手率大于5%')

(2)形态选股

价格形态选股,比如输入黄金坑、均线粘合,平台突破、仙人指路等

qs.wencai('黄金坑')

(3)财务指标组合选股

财务指标选股常用的指标比如:市盈率、市净率、净资产收益率、总资产收益率、资产负债率、每股收益、每股净资产、股息率、派息比率、分红明细等。下面使用财务指标进行组合条件选股。

df=qs.wencai('营业收入增长率>10%;营业利润增长率>20%;加权净资产收益率>15%;总资产报酬率>5%')

df[['股票简称','所属同花顺行业','营业利润(同比增长率)','净资产收益率roe(加权,公布值)','总资产报酬率roa']]

04 其他金融数据

(1)新股数据

获取今日上市交易新股。

qs.wencai('新股')

获取某阶段新股数据。

df=qs.wencai('上市时间不足一个月新股和次新股')

df[['股票简称','股票代码','新股上市日期','最新价','最新涨跌幅','所属同花顺行业','公开发行市值','所属概念数量']]

(2)可转债数据

df=qs.wencai('可转债')

df[['可转债@可转债代码','可转债@正股简称','可转债@最新价','可转债@涨跌幅','可转债@上市日期','可转债@到期日','可转债@网上发行申购价格']]

(3)基金排名数据

df=qs.wencai('基金涨幅排名')

df[['基金简称','基金代码','基金@最新日收益率','基金@最新单位净值','基金@最新净值日期','基金@涨跌幅排名名次','基金@涨跌幅','基金@涨跌幅排名']]

(4)期货数据

qs.wencai('期货排名')