Use python para conduzir a seleção de ações de IA e pedir dinheiro com flush

foto

 

Através da biblioteca Wenchai python, você pode inserir chinês para obter resultados de seleção de ações de IA sem escrever muito código para selecionar ações.A imagem acima é o resultado obtido inserindo "ações com arranjo de média móvel longa" chinesas. Este artigo apresenta principalmente a função de seleção de ações e as etapas de uso da biblioteca Wenchai python.

O que é a biblioteca Wenchai python

  • Tonghuashun iWencai é uma plataforma de consultoria de investimentos de IA da Tonghuashun. Ela se concentra no uso de tecnologia de IA para melhorar a extração, processamento, análise, precipitação e exibição de dados financeiros. Os usuários podem usar o chinês para selecionar ações e realizar análises visuais no iWencai sem fazer login. .

  • A biblioteca Wencai python é um kit de ferramentas iWencai python de código aberto da GraySilver. Ao usar a biblioteca wencai lib, você pode obter os resultados da pesquisa e os dados de backtest do Flush iWencai. Após análise e teste do código, constatou-se que além da função de seleção de ações, as funções fornecidas pelo kit de ferramentas wencai python, como obtenção de análise de backtest, obtenção de estratégias e obtenção de análises de eventos, não estão mais disponíveis. A razão é que a última atualização do github do pacote wencai python foi em 11 de setembro de 2021, e Tonghuashun i Wencai foi muito atualizado desde então.Muitas funções que podem ser implementadas sem login antes só podem ser usadas após o login.

Etapas para usar a biblioteca Wenchai python

  1. Instale a biblioteca weicai python

pip install wencai

pip instalará automaticamente solicitações, beautifulsoup4, PyExecJS e outros pacotes de dependência python

2. Use a biblioteca weicai python para consultar

Vamos usar query=”ações com arranjo de média móvel longa” como explicação. O código é o seguinte:

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='均线多头排列的股票')

Observe que você deve adicionar a frase Session.headers.update({'Host': 'www.iwencai.com'}). Se você consultar diretamente de acordo com a documentação oficial da biblioteca wencai lib, um erro TypeError: list indices must be wholes or slices, not str será relatado. Como o código oficial não inclui a frase Session.headers.update({'Host': 'www.iwencai.com'}), o motivo específico é que o servidor iWencai foi verificado e atualizado, e o cabeçalho da solicitação http precisa a ser definido.

均线多头排列(条件说明)  股票简称    最新价            技术形态   最新涨跌幅                          买入信号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

Outros exemplos:

  • Você pode selecionar ações com base na classificação de popularidade: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
  • Você pode selecionar ações com base em seus padrões: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. Use ferramentas como pandas para manipular ainda mais as informações de seleção de ações

As ações selecionadas usando a biblioteca Wenchai python geralmente têm um número maior e são resultados de seleção preliminares.Você pode usar ferramentas como pandas e classificar de acordo com suas próprias estratégias para selecionar ainda mais um número menor de ações que atendam aos requisitos.

otimização avançada

  1. O que devo fazer se quiser obter 100 resultados?

Como pode ser visto acima, a biblioteca Wencai Python pode obter até 50 resultados por padrão. Se você deseja obter mais resultados retornados, você precisa modificar o código-fonte da biblioteca Wencai Python ou criar uma nova classe de herança para implementar o modificado código. A seguir está como implementá-lo criando uma nova classe de herança, mas ela só pode obter até 100 resultados. O código é o seguinte:

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)

Resumo e comunicação

Para ver o artigo completo, clique para usar python para seleção inteligente de ações Wenchai AI

Siga a conta pública: Zhuge Shuo Talk para obter mais conteúdo relacionado

Escrever artigos não é fácil. Se você acha que este artigo é útil para você, dê um joinha e encaminhe-o para me motivar a continuar escrevendo bons artigos.

referência

Acho que você gosta

Origin blog.csdn.net/richardzhutalk/article/details/131747874
Recomendado
Clasificación