Análisis de datos de stock de Python, haciendo histograma dinámico

prefacio

Fundada en 2010, Snowball es una comunidad de inversores lanzada por Beijing Snowball Information Technology Co., Ltd. Snowball se ha comprometido a proporcionar a los inversionistas chinos servicios de consulta de datos, adquisición de información e intercambio y transacciones interactivos entre mercados (Shanghái y Shenzhen, Hong Kong, Estados Unidos), entre variedades (acciones, fondos, bonos, etc.).

uso del módulo

solicitudes >>> solicitudes de instalación de pip (módulo de solicitud de datos de terceros)
re # Expresión regular para hacer coincidir y extraer datos
json
pandas
pyecharts

entorno de desarrollo

Intérprete de Python 3.8
Pycharm versión 2021.2

Pasos de implementación del código

  1. Enviar una solicitud para visitar un sitio web
  2. recuperar datos
  3. Analizar datos (extraer datos)
  4. guardar datos
  5. Visualización simple del histograma

código de inicio

1. Enviar una solicitud para visitar el sitio web

headers = {
    
    
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36'
}

url = 'https://xueqiu.com/service/v5/stock/screener/quote/list?page=1&size=30&order=desc&order_by=amount&exchange=CN&market=CN&type=sha&_=1641730868838'

response = requests.get(url=url, headers=headers)

2. Obtener datos

json_data = response.json() 

3. Análisis de datos (filtrado de datos)

data_list = json_data['data']['list']
for data in data_list:
    data1 = data['symbol']
    data2 = data['name']
    data3 = data['current']
    data4 = data['chg']
    data5 = data['percent']
    data6 = data['current_year_percent']
    data7 = data['volume']
    data8 = data['amount']
    data9 = data['turnover_rate']
    data10 = data['pe_ttm']
    data11 = data['dividend_yield']
    data12 = data['market_capital']
    print(data1, data2, data3, data4, data5, data6, data7, data8, data9, data10, data11, data12)
    data_dict = {
    
    
        '股票代码': data1,
        '股票名称': data2,
        '当前价': data3,
        '涨跌额': data4,
        '涨跌幅': data5,
        '年初至今': data6,
        '成交量': data7,
        '成交额': data8,
        '换手率': data9,
        '市盈率(TTM)': data10,
        '股息率': data11,
        '市值': data12,
    }
    csv_write.writerow(data_dict)

4. Guarda la dirección

file = open('data2.csv', mode='a', encoding='utf-8', newline='')
csv_write = csv.DictWriter(file, fieldnames=['股票代码','股票名称','当前价','涨跌额','涨跌幅','年初至今','成交量','成交额','换手率','市盈率(TTM)','股息率','市值'])
csv_write.writeheader()

Ejecute el código para ver el efecto.

5. Visualización de datos

data_df = pd.read_csv('data2.csv')
df = data_df.dropna()
df1 = df[['股票名称', '成交量']]
df2 = df1.iloc[:20]
print(df2['股票名称'].values)
print(df2['成交量'].values)


c = (
    Bar()
        .add_xaxis(df2['股票名称'].values.tolist())
        .add_yaxis("股票成交量情况", df2['成交量'].values.tolist())
        .set_global_opts(
        title_opts=opts.TitleOpts(title="成交量图表 - Volume chart"),
        datazoom_opts=opts.DataZoomOpts(),
    )
    .render("data.html")
)

print('数据可视化结果完成,请在当前目录下查找打开 data.html 文件!')


Supongo que te gusta

Origin blog.csdn.net/m0_48405781/article/details/123596128
Recomendado
Clasificación