使用python进行AI选股之同花顺问财

这篇具有很好参考价值的文章主要介绍了使用python进行AI选股之同花顺问财。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

同花顺问财 csdn,量化投资,python,人工智能,金融

 

通过问财python库,可以输入中文就能获取AI选股结果,而不需要写很多代码来进行股票选取,如上图就是输入中文”均线多头排列的股票”获取的结果。本文主要介绍问财python库的选股功能和使用步骤。

什么是问财python库

  • 同花顺i问财是同花顺旗下的AI投顾平台,专注于使用AI技术改进财经数据的提取、处理、分析、沉淀以及展现, 用户不登陆就可以在i问财使用中文进行选股并进行可视化分析。

  • 问财python库是由GraySilver开源的i问财python工具包,通过使用wencai lib库可以获取同花顺i问财的搜索结果和回测等数据。经过代码分析和测试发现,wencai python工具包除了选股功能外, 其提供的获取回测分析、获取策略、获取事件评测等功能都已无法使用。原因是wencai python包最近一次github更新是在2021年9月11日,而之后同花顺i问财则更新很多,之前的很多不需要登录就能实现的功能目前需要登录后才能使用

问财python库使用步骤

  1. 安装weicai python库

pip install wencai

pip会自动安装requests、beautifulsoup4、PyExecJS等python依赖包

2. 使用weicai python库进行查询

以查询query=”均线多头排列的股票”进行说明,代码如下:

import wencai as wc
wc.set_variable(cn_col=True)
from wencai.core.session import Session
Session.headers.update({'Host': 'www.iwencai.com'})
wc.search(query='均线多头排列的股票')

注意,一定要加上Session.headers.update({'Host': 'www.iwencai.com'}) 这一句。如果按照wencai lib库官方文档直接进行查询,会报错TypeError: list indices must be integers or slices, not str。 因为官方代码不包括Session.headers.update({'Host': 'www.iwencai.com'}) 这一句,具体原因是i问财服务器做了验证升级,需要设置http请求header。

均线多头排列(条件说明)  股票简称    最新价            技术形态   最新涨跌幅                          买入信号inter       股票代码
0   2023年06月09日均线多头排列  中国国贸  19.44  缩量||价跌量缩||回调缩量  -1.220                 周线cci买入信号||周线kdj金叉  600007.SH
1   2023年06月09日均线多头排列  皖通高速  11.08    放量||价跌量缩||阴线  -1.424       周线skdj金叉||周线rsi金叉||周线cci买入信号  600012.SH
2   2023年06月09日均线多头排列  中体产业  11.45    阳线||缩量||价跌量缩  -0.174                    mtm金叉||周线skdj金叉  600158.SH
....
46  2023年06月09日均线多头排列  新澳股份   7.14    阳线||放量||价升量缩   0.140     月线boll突破上轨||周线rsi金叉||周线cci买入信号  603889.SH
47  2023年06月09日均线多头排列  建发合诚  12.80    放量||价跌量缩||阴线  -1.311           月线dma金叉||周线mtm金叉||周线cr金叉  603909.SH
48  2023年06月09日均线多头排列  金桥信息  34.88    强中选强||放量||阴线  -6.962                                NaN  603918.SH
49  2023年06月09日均线多头排列  力鼎光电  17.20    放量||阴线||价跌量升  -3.749                           bias买入信号  605118.SH

其他示例:

  • 可以根据人气排名选股:wc.search("人气股票排名100")

个股热度排名   股票简称     最新价   最新涨跌幅      个股热度       股票代码
0        1   拓维信息   17.63   9.981  129391.0  002261.SZ
1        2   鸿博股份   38.00  -4.857   70730.0  002229.SZ
2        3   上海物贸   14.76   9.985   60386.0  600822.SH
...
46      47   中科曙光   52.04   4.919   20711.0  603019.SH
47      48   飞龙股份   11.57   9.981   20410.5  002536.SZ
48      49   吉宏股份   23.16  10.024   20322.5  002803.SZ
49      50   中际旭创  115.20   7.946   20214.5  300308.SZ
  • 可以根据形态选股: wc.search("可转债概念 正股金叉")

所属概念 未清偿可转债代码  未清偿可转债转股价格 未清偿可转债简称   a股市值(不含限售股)    最新价   最新涨跌幅                       买入信号inter       股票代码       macd金叉(条件说明)   未清偿可转债总量  股票简称            技术形态  所属概念数量
0   煤化工;影视娱乐;文化传媒;通用航空;互联网金融;芯片概念;富时罗素概念;富时罗素概念股;标...   128037        3.10     岩土转债  4.517167e+09   2.84   4.412     行情收盘价上穿5日||skdj金叉||boll突破中轨  002542.SZ  2023年06月09日macd金叉    6019009  中化岩土    价升量涨||阳线||放量      22
1   保健品;沪股通;医药电商;融资融券;转融券标的;富时罗素概念;富时罗素概念股;MSCI概念;...   113605       47.11     大参转债  3.052566e+10  26.84   3.790          mtm金叉||行情收盘价上穿5日||cr金叉  603233.SH  2023年06月09日macd金叉   14047400   大参林    价升量涨||阳线||放量       9
2   一带一路;稀缺资源;铁矿石;特斯拉;锂电原料;锂矿;锂电池;深股通;金属铜;MSCI概念;融...   128111       10.63     中矿转债  3.514415e+10  57.75   3.755      boll突破中轨||roc买入信号||cci买入信号  002738.SZ  2023年06月09日macd金叉    1099547  中矿资源    价升量涨||阳线||放量      12
...
18  北部湾自贸区;深股通;一带一路;富时罗素概念;富时罗素概念股;东盟自贸区;标普道琼斯A股;统...   127039        8.00     北港转债  1.122096e+10   7.96  -0.748        macd金叉||dmi金叉||月线roc买入信号  000582.SZ  2023年06月09日macd金叉   17630564  北部湾港  缩量||价跌量缩||回调缩量      16
19     电子商务;广告营销;文化传媒;新零售;网红经济;C2M概念;工业机器人;机器人概念;抖音概念   113589       12.29     天创转债  2.001966e+09   4.77  -2.254     macd金叉||周线boll突破中轨||周线rsi金叉  603608.SH  2023年06月09日macd金叉    5995000  天创时尚    放量||价跌量缩||阴线       9

3. 使用pandas等工具进一步操作选股信息

使用问财python库选出的股票一般数量较多,是初步的选取结果,可以根据自己的策略使用pandas和sort等工具进一步精选出符合要求的数量较少的股票

进一步优化

  1. 想获取100条结果,该怎么操作

从上文可以看出,问财python库默认最多获取50条结果,如果希望获取更多返回结果,那就需要修改wencai python库源代码或者新建继承类实现修改代码了。 下面是新建继承类来实现的方式,但最多只能获取100条结果,代码如下:

from wencai.core.event import *
from wencai.core.crawler import *
from wencai.core.session import Session

Session.headers.update({'Host': 'www.iwencai.com'})
Session.headers.update({'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36'})

class MyWencai(Wencai):
    def __init__(self, cn_col=False, proxies=None, verify=False):
        self.cookies = WencaiCookie()
        self.cn_col = cn_col
        self.session = Session(proxies=proxies, verify=verify)
        
    def search(self, query_string, page):
        payload = {
            "question": query_string,
            "page": page,
            "perpage": 100,
            "log_info": '{"input_type": "click"}',
            "source": "Ths_iwencai_Xuangu",
            "version": 2.0,
            "secondary_intent": "",
            "query_area": "",
            "block_list": "",
            "add_info": '{"urp": {"scene": 1, "company": 1, "business": 1}, "contentType": "json", "searchInfo": true}'
        }

        r = self.session.post_result(url=WENCAI_CRAWLER_URL['search'],
                                     data=payload, force_cookies=True)
        # print(r.json()['data'])

        result = r.json()['data']['answer'][0]['txt'][0]['content']['components'][0]['data']['datas']

        def _re_str(x: str):
            _re = re.findall('(.*):前复权', x)
            if len(_re) >= 1:
                x = _re[-1]
            check_date = re.search(r"(\d{4}\d{1,2}\d{1,2})",x)
            if check_date is not None:
                return x.replace('[{}]'.format(check_date.group()), '')
            else:
                return x

        data = pd.DataFrame().from_dict(result)
        if not data.empty:
            columns = {i: _re_str(i) for i in data.columns}
            data = data.rename(columns=columns)
            for col in ['market_code', 'code', '关键词资讯', '涨跌幅']:
                if col in data.columns:
                    del data[col]
        return data
    

def search(query, page=1):

    return MyWencai(proxies=globals()['global_proxies'], verify=globals()['verify']).search(query_string=query, page=page)

小结&交流

完整文章查看,点击使用python进行问财AI智能选股

关注公众号:诸葛说talk,获取更多相关内容

写文章不易,觉得本文对你有帮助的话,帮忙点赞转发赞赏,让笔者有坚持写好文章的动力。

参考

  • 同花顺问财文章来源地址https://www.toymoban.com/news/detail-801994.html

到了这里,关于使用python进行AI选股之同花顺问财的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【AI选股】如何通过python调用通达信-小达实现AI选股(量化又多了一个选股工具,原文Chrome浏览器请改为Edge浏览器)

    ChatGPT火遍网络,那么有没有可以不用写公式就可以实现AI选股的方法?答案是有,今天我们就来试试通达信的小达,让小达按我们的要求去进行选股。 使用Chrome浏览器报错的请改为Edge浏览器,或者Firefox浏览器,参考如下文章: 【Python小技巧】browser_cookie3访问Chrome浏览器Co

    2024年02月11日
    浏览(105)
  • 人工智能CSDN版AI和百度AI代码转化测试,C#、Java代码转Python

    工作中,需要完成以下的工作场景: 【场景】单据转换不支持多选基础资料下推; 【案例】通过单据转换插件,实现应收单单据头的多选基础资料下推到付款申请单的单据头的多选基础资料 原文链接:https://vip.kingdee.com/article/324304152484608000?productLineId=1 需要将原代码转换为

    2024年02月03日
    浏览(49)
  • 一文教会你使用AI绘画利器Stable Diffusion!这可能是CSDN最全的AI绘画使用教程,建议收藏!

    大家好,我是程序员晓晓 随着 stable-diffusion 的开源,让更多人有机会直接参与到 AI 绘画的创作中,相关的教程也如雨后春笋般的出现。可是目前我看到的教程同质性较高,通常只能称作为\\\"使用流程讲解\\\",但是通常没有对其原理和逻辑进行深入说明。 所以本文的目的,是用

    2024年01月25日
    浏览(52)
  • 同花顺l2接口使用体验感怎么样?

    小编曾经用过同花顺的L2,首先就是运行速度方面还是不错的,但是小编认为还是有很大的改善空间,第二个就是感觉同花顺l2接口软件挺容易上手的,特别是对于有一些有基础的投资者来说就更简单了,那么其中的附加功能,如金股快线,是通过L2分笔数据搜索某一时段大单集中净

    2023年04月11日
    浏览(60)
  • 小市值选股策略代码分享(附python源码)

    小市值选股策略的核心在于通过综合分析公司的基本面、行业定位、财务健康状况以及市场趋势, 来寻找那些被市场低估但具备显著成长潜力的股票,同时也要重视风险管理和投资组合的多样化。   今天来给大家分享下小市值策略代码如下:   以上是一个简洁的小市值策略

    2024年02月05日
    浏览(42)
  • AI机器学习实战 | 使用 Python 和 scikit-learn 库进行情感分析

    专栏集锦,大佬们可以收藏以备不时之需 Spring Cloud实战专栏:https://blog.csdn.net/superdangbo/category_9270827.html Python 实战专栏:https://blog.csdn.net/superdangbo/category_9271194.html Logback 详解专栏:https://blog.csdn.net/superdangbo/category_9271502.html tensorflow专栏:https://blog.csdn.net/superdangbo/category_869

    2024年02月05日
    浏览(40)
  • python + Selenium 实现自动化查询问财数据及下载Excel数据并存入到mysql

    问财的数据海量及时,作为量化交易的数据来源也是一种不错的选择,之前也用过一些免费的api,但是数据不是很完整,时效性也不高,试了一下问财觉得很不错,不过下载有次数限制,非会员每天只能导出2次,会员每天200次。因为不想每天手工操作,所以想通过该方法实现

    2024年02月08日
    浏览(69)
  • AI:162-如何使用Python进行图像识别与处理深度学习与卷积神经网络的应用

    本文收录于专栏:精通AI实战千例专栏合集 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 每一个案例都附带关键代码,详细讲解供大家学习,希望可以帮到大家。正在不断更新中~ 在当今数字化时代,图像处

    2024年04月26日
    浏览(89)
  • CSDN之AI创作:微服务

    微服务是一种架构风格,它将一个大型的软件应用拆分为一组小型的、独立部署的服务,这些服务可以独立运行、可扩展、可替换,并且与其他服务通过轻量级的通信机制进行协作。微服务架构的核心思想是将复杂的系统拆分为多个小型服务,每个服务都有自己的职责和功能

    2024年02月19日
    浏览(35)
  • 【csdn AI写作助手能帮助我们做什么呢?】

    CSDN AI写作助手上线了!InsCode AI 创作助手不仅能够帮助用户高效创作文章,而且能够作为对话式AI回答你想知道的问题。成倍提高生产力! 提示:根据自身理解和情况回答 AI创作工具似乎是随着chat-gtp出现的,至于早起是否有AI创作工具,AI助手似乎可以帮助我回答这个问题?

    2024年02月02日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包