Utilice Python para realizar una selección de acciones con IA y pedir dinero con color

imagen

 

A través de la biblioteca Wenchai Python, puede ingresar chino para obtener resultados de selección de acciones de IA sin escribir mucho código para seleccionar acciones. La imagen de arriba es el resultado obtenido al ingresar "acciones con disposición de promedio móvil largo" en chino. Este artículo presenta principalmente la función de selección de acciones y los pasos de uso de la biblioteca Wenchai Python.

¿Qué es la biblioteca Wenchai Python?

  • Tonghuashun iWencai es una plataforma de asesoramiento de inversiones de IA de Tonghuashun. Se centra en el uso de tecnología de IA para mejorar la extracción, el procesamiento, el análisis, la precipitación y la visualización de datos financieros. Los usuarios pueden utilizar el chino para seleccionar acciones y realizar análisis visuales en iWencai sin iniciar sesión. .

  • La biblioteca Wencai Python es un kit de herramientas de iWencai Python de código abierto de GraySilver. Al utilizar la biblioteca wencai lib, puede obtener los resultados de búsqueda y los datos de prueba retrospectiva de Flush iWencai. Después del análisis y las pruebas del código, se descubrió que, además de la función de selección de acciones, las funciones proporcionadas por el kit de herramientas wencai python, como obtener análisis retrospectivo, obtener estrategias y obtener revisiones de eventos, ya no están disponibles. La razón es que la última actualización de Github del paquete wencai python fue el 11 de septiembre de 2021, y Tonghuashun i Wencai se ha actualizado mucho desde entonces. Muchas funciones que se pueden implementar sin iniciar sesión antes solo se pueden usar después de iniciar sesión.

Pasos para usar la biblioteca Python de Wenchai

  1. Instalar la biblioteca weicai python

pip install wencai

pip instalará automáticamente solicitudes, beautifulsoup4, PyExecJS y otros paquetes de dependencia de Python

2. Utilice la biblioteca weicai python para realizar consultas

Usemos query="acciones con disposición de media móvil larga" como explicación. El código es el siguiente:

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

Tenga en cuenta que debe agregar la oración Session.headers.update({'Host': 'www.iwencai.com'}). Si consulta directamente de acuerdo con la documentación oficial de la biblioteca wencai lib, se informará un error TypeError: los índices de la lista deben ser números enteros o segmentos, no str. Debido a que el código oficial no incluye la oración Session.headers.update ({'Host': 'www.iwencai.com'}), la razón específica es que el servidor iWencai ha sido verificado y actualizado, y el encabezado de solicitud http necesita para ajustar.

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

Otros ejemplos:

  • Puede seleccionar acciones según el ranking de popularidad: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
  • Puede seleccionar acciones según sus patrones: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. Utilice herramientas como pandas para manipular aún más la información de selección de acciones.

Las acciones seleccionadas utilizando la biblioteca de Python de Wenchai generalmente tienen un número mayor y son resultados de selección preliminares. Puede usar herramientas como pandas y ordenarlas de acuerdo con sus propias estrategias para seleccionar aún más una cantidad menor de acciones que cumplan con los requisitos.

optimización avanzada

  1. ¿Qué debo hacer si quiero obtener 100 resultados?

Como se puede ver en lo anterior, la biblioteca Wencai Python puede obtener hasta 50 resultados de forma predeterminada. Si desea obtener más resultados devueltos, debe modificar el código fuente de la biblioteca Wencai Python o crear una nueva clase de herencia para implementar la modificación. código. A continuación se explica cómo implementarlo creando una nueva clase de herencia, pero solo puede obtener hasta 100 resultados, el código es el siguiente:

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)

Resumen y comunicación

Para ver el artículo completo, haga clic para usar Python para la selección de acciones inteligente de Wenchai AI

Siga la cuenta pública: Zhuge Shuo Talk para obtener más contenido relacionado

Escribir artículos no es fácil. Si cree que este artículo le resulta útil, dale el visto bueno y reenvíalo para motivarme a seguir escribiendo buenos artículos.

referencia

Supongo que te gusta

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