qstock 玩转问财:一行代码实现条件选股

01

问财及qstock简介

问财是同花顺平台上一款专业的财经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.5版本,添加了问财的数据访问功能,通过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股比']]

ec303d840086e772ab8bff4fb9e67e19.jpeg


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

df.head(10)


6c78c47fece018c3f07bc9ad82c4acec.jpeg


(2)阶段表现

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

df=qs.wencai('250日新高,非ST,沪深A,上市时间超过250天')
df=df[['股票代码','股票简称','最新价','最新涨跌幅','技术形态','买入信号inter']]
#查看前10名创新高个股
df.head(10)


52dd0ef07225a623c65c19638c03f221.jpeg


期间涨幅跌幅排名

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

4352b9681c3faa045c4f72b3179c5821.jpeg


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

3cfe2f90548d0e1263d2c914f1e20314.jpeg


热门股

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


e9c2918f27512c9eb64ed50488ea44a1.jpeg


板块热点

近期热门概念热点

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

6f1739e72a686f475b2ced06d3427fc1.jpeg


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

df.head(10)

6fe32abecce29ac3040bcf35f5d477c7.jpeg


03

选股


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


(1)技术指标组合选股

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

510392591faef33962b30da513bfedff.jpeg


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


b012fbb750fd3ca6607d5263631a29ad.jpeg



(2)形态选股

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

qs.wencai('黄金坑')


9172dad6e61ffc2efd3dca8d3c3a764a.jpeg

(3)财务指标组合选股

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

df=qs.wencai('营业收入增长率>10%;营业利润增长率>20%;加权净资产收益率>15%;总资产报酬率>5%')
df[['股票简称','所属同花顺行业','营业利润(同比增长率)','净资产收益率roe(加权,公布值)','总资产报酬率roa']]


cbd6d6948e0001ffc07d1c81503cca92.jpeg

04

其他金融数据


(1)新股数据

获取今日上市交易新股。

qs.wencai('新股')

86099d7bff9fb20f20487146bf89cc70.jpeg

获取某阶段新股数据。

df=qs.wencai('上市时间不足一个月新股和次新股')
df[['股票简称','股票代码','新股上市日期','最新价','最新涨跌幅','所属同花顺行业','公开发行市值','所属概念数量']]

1f37d869db3f0378962677775844fe74.jpeg


(2)可转债数据

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


6dc7a328861428da465ebfc4739d4271.jpeg

(3)基金排名数据

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


bab3552462039888a581ba34298ccf54.jpeg


(4)期货数据

qs.wencai('期货排名')

887f0a3cadfc0f63f695ad4c045c95ed.jpeg

8ee83c66714281e4146851fe61e34f85.png

关于Python金融量化

6ac844c25083b48e4723ada2a6d76dd8.png

专注于分享Python在金融量化领域的应用。加入知识星球,可以免费获取qstock源代码、30多g的量化投资视频资料、量化金融相关PDF资料、公众号文章Python完整源码、与博主直接交流、答疑解惑等。添加个人微信sky2blue2可获取八五折优惠。

ba7d85b4e7f15dec83ad81e69c6c70e6.jpeg

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
# 简介 qstock由“Python金融量化”公众号开发,试图打造成个人量化投研分析开源库,目前包括数据获取(data)、可视化(plot)、选股(stock)和量化回测(backtest)四个模块。其中数据模块(data)数据来源于东方财富网、同花顺、新浪财经等网上公开数据。qstock致力于为用户提供更加简洁和规整化的金融市场数据接口,其中可视化模块为用户提供基于web的交互图形简单操作接口;选股模块提供了同花顺的技术选股和公众号策略选股,包括RPS、MM趋势、财务指标、资金流模型等,回测模块为大家提供向量化(基于pandas)和基于事件驱动的基本框架和模型。 读者直接在cmd或anaconda prompt上输入“pip install qstock ”进行安装,或输入“pip install -upgrade qstock”进行更新。 qstock是免费开源金融量化库,已在pypi官网和GitHub上发布,更新至1.3.5版本,添加了问财的数据访问功能,通过qstock.wencai('选股条件')调用。使用“pip install qstock ”进行安装,通过’pip install –upgrade qstock’进行更新。目前部分策略选股和策略回测功能仅供知识星球会员使用,会员可在知识星球置顶帖子上获取 qstock 的离线安装包。 关于 qstock 更详细的使用方法,请参考微信公众号Python金融量化 qstock 专题系列文章: 【qstock开源了】数据篇之行情交易数据 【qstock数据篇】行业概念板块与资金流 【qstock量化】数据篇之股票基本面数据 【qstock量化】数据篇之宏观指标和财经新闻文本 【qstock量化】动态交互数据可视化 【qstock量化】技术形态与概念热点选股池 【手把手教你】使用qstock实现量化策略选股 【手把手教你】使用qstock进行量化回测 基于qstock的量化复盘与自动盯盘 下面为大家介绍qstock各模块的具体调用方式和应用举例。 ```python #导入qstock模块 import qstock as qs ``` # 数据模块 # 行情交易数据接口 ## 实时行情数据 获取指定市场所有标的或单个或多个证券最新行情指标 realtime_data(market='沪深A', code=None): - market表示行情名称或列表,默认'沪深A股', '沪深京A':沪深京A股市场行情; '沪深A':沪深A股市场行情;'沪A':沪市A股市场行情 '深A':深市A股市场行情;北A :北证A股市场行情;'可转债':沪深可转债市场行情; '期货':期货市场行情;'创业板':创业板市场行情;'美股':美股市场行情; '港股':港股市场行情;'中概股':中国概念股市场行情;'新股':沪深新股市场行情; '科创板':科创板市场行情;'沪股通' 沪股通市场行情;'深股通':深股通市场行情; '行业板块':行业板块市场行情;'概念板块':概念板块市场行情; '沪深指数':沪深系列指数市场行情;'上证指数':上证系列指数市场行情 '深证指数':深证系列指数市场行情;'ETF' ETF基金市场行情;'LOF' LOF 基金市场行情 - code:输入单个或多个证券的list,不输入参数,默认返回某市场实时指标 如code='中国平安',或code='000001',或code=['中国平安','晓程科技','东方财富'] ### 某市场所有标的最新行情 ```python #获取沪深A股最新行情指标 df=qs.realtime_data() #查看前几行 df.head() ``` ```python #获取期货最新行情指标 df=qs.realtime_data('期货') #查看前几行 df.head() ``` ```python #获 -------- 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! <项目介绍> 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
### 回答1: 自动选股是一种利用Python编写的程序,用于根据事先设定的条件自动筛选股票的工具。使用Python编写自动选股代码主要有以下几个步骤: 1. 数据获取:首先需要获取股票的实时或历史数据,可以通过调用数据接口或者使用爬虫技术获取数据。Python中可以使用第三方库如tushare来获取股票数据。 2. 数据处理:获取到股票数据后,需要对数据进行处理和清洗,以便后续的选股计算。常见的数据处理方法包括数据清洗、数据合并、数据筛选等。Python中可以使用pandas库来进行数据处理。 3. 选股策略:根据个人的投资需求和策略,设定选股条件。常见的选股条件包括市盈率、市净率、ROE等指标的要求。根据设定的选股条件,使用Python编写代码实现选股策略。 4. 代码实现:根据选股策略,使用Python编写代码进行选股。可以使用if条件判断语句或者循环语句来筛选符合条件的股票。 5. 输出结果:选择完符合条件的股票后,可以将结果输出到文件或数据库中,便于后续的进一步分析和操作。 总结来说,自动选股代码使用Python编写,主要是通过获取、处理和筛选数据,以及根据设定的选股策略进行股票的选择。Python作为一种功能强大的编程语言,具备丰富的数据处理和编程能力,非常适合用于自动选股开发。 ### 回答2: 自动选股是通过编写代码实现一种自动化策略,用于从大量的股票数据中筛选出符合特定条件的股票。Python作为一种流行的编程语言,被广泛应用于自动选股代码的编写和实现。 编写自动选股代码主要包括以下几个步骤: 1. 数据获取:使用Python编写代码,从各种数据源(如网站、API接口、数据库等)获取所需股票数据,如股票代码、股价、成交量、财务数据等。 2. 数据处理:根据选股策略,使用Python对获取到的股票数据进行处理和计算,包括计算各种指标、筛选条件等。 3. 选股策略:根据自己的投资理念和策略,使用Python编写代码,设计出一套完整的选股策略,如均线突破、相对强弱指标、MACD等。 4. 选股过程:根据选股策略,使用Python编写代码,将各种条件和指标应用到股票数据上,筛选出符合条件的股票。 5. 结果展示:使用Python代码将筛选结果以列表、图表等形式展示出来,便于投资者进行查看和分析。 6. 策略回测:使用历史股票数据进行策略回测,验证选股策略的有效性和盈利能力,从而对策略进行改进和优化。 总之,编写自动选股代码需要熟悉Python编程语言和股票市场基本知识,通过获取数据、处理数据、设计选股策略和展示结果等步骤实现自动化选股的效果。 ### 回答3: 自动选股是利用计算机程序在股票市场中自动筛选和选取股票的过程,而Python是一种广泛应用于数据分析和科学计算的编程语言,非常适合用于编写自动选股程序。以下是一个简单的自动选股代码示例: ```python import pandas as pd # 读取股票数据 stock_data = pd.read_csv('stock_data.csv') # 进行数据预处理和特征计算 # ... # 编写选股策略 def select_stocks(data): # 筛选出满足条件的股票 selected_stocks = data[data['pe_ratio'] < 10] # 示例条件为市盈率小于10 # 按照其他条件继续筛选 # ... return selected_stocks # 调用选股函数 selected_stocks = select_stocks(stock_data) # 输出选取的股票 print(selected_stocks) ``` 以上示例代码是一个简单的自动选股基础框架。具体待筛选条件可以根据个人需要进行修改和扩展,例如可以基于股票的财务指标、技术指标、市场行情等多种因素编写选股条件。此外,还可以通过使用第三方库如ta-lib等来计算技术指标,并将其作为选股条件之一。最终选取的股票可以通过将结果保存为CSV文件或将其发送至邮件等方式进行进一步处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值