[Cuantificación] Obtención de la fuente de datos del modelo de tres factores Fama-French en combate real

Autor: fantasía buena

Fuente: Comunidad Hang Seng LIGHT Cloud

Este artículo se basa principalmente en la práctica de procesos de la comunidad de Hengyoushu para obtener las fuentes de datos requeridas por el modelo de tres factores Fama-French.

Original: [Cuantificación] ¿Qué beneficio se puede obtener seleccionando acciones a través del modelo de tres factores de Fama-French?

Introducción al modelo de tres factores Fama-French

El modelo de tres factores de Fama-French (en adelante, el "modelo de tres factores") fue propuesto por Fama y French a principios de la década de 1990. Considera que, en un estado ideal, el exceso de rendimiento de los activos se compone de rendimientos de mercado. , rendimientos de escala y rendimientos de valor consta de partes.

Recopilar proceso de fuente de datos

Registrar plataforma Hengyoushu

Perfil de Hengyoushu

La comunidad de datos financieros de Hengyoushu ( https://udata.hs.net ), originada en la comunidad abierta y visualizada de datos financieros de Hang Seng, tiene como objetivo proporcionar a los entusiastas de la inversión cuantitativa, profesionales financieros, profesores y estudiantes universitarios, agencias gubernamentales y medios financieros, etc. Crowd proporciona servicios profesionales de datos financieros para satisfacer las diversas necesidades de análisis de datos e investigación de inversiones de diferentes usuarios.

Hengyoushu proporciona datos financieros que cubren acciones, fondos, bonos, futuros de opciones y acciones de Hong Kong (consulte el Apéndice 1 para ver el catálogo de datos). Proporcione funciones como vista previa en línea, descarga en línea y depuración en línea, interfaz API simple y eficiente (los lenguajes de interfaz incluyen HTTP, Python, MATLAB, Java), documentos de interfaz enriquecidos y documentos de ayuda, para que los usuarios puedan obtener datos de manera conveniente y rápida.

En el futuro, Hengyoushu continuará ampliando los datos profesionales, mejorará las funciones del producto y mejorará continuamente las capacidades del servicio.

Regístrese e inicie sesión en la plataforma Hengyoushu para obtener el token de solicitud de interfaz de datos, dirección: https://udata.hs.net/console/overAllView.

imagen-20211120212333694.png

Obtener las fuentes de datos requeridas

De acuerdo con los requisitos, se deben obtener los siguientes campos de datos:

  • Fecha de transacción : Fecha de transacción
  • Precio de apertura : el precio de apertura de la acción en ese día
  • Precio más alto : el precio más alto de negociación de acciones en ese día
  • Precio más bajo : el precio más bajo de negociación de acciones en el día
  • Precio de cierre : El precio de cierre de la acción
  • Código de acciones : el código de las acciones, las acciones de Shanghái terminan con sh y las acciones de Shenzhen terminan con sz
  • Aumento y disminución : el verdadero y exacto aumento y disminución después del restablecimiento
  • Volumen de negociación : el volumen de negociación de acciones del día
  • Rotación : Rotación de existencias en el día.
  • Capitalización total del mercado : el precio total de las acciones en ese día
  • Tasa de rotación : La proporción de acciones que cambian de manos en el día
  • Ya sea para negociar : si la acción se negocia el último día de negociación de este mes
  • ¿Existe un límite diario ?: si la acción tiene un límite diario al cierre del último día de negociación de este mes
  • Si el límite es más bajo : si el precio de cierre de la acción en el último día de negociación de este mes es más bajo o no
  • P/E Ratio TTM : Últimos 12 meses Relación precio-beneficio
  • Relación precio-valor contable : relación precio-valor contable, precio de las acciones/activos netos por acción en el informe financiero más reciente

La interfaz que necesita para obtener datos es la siguiente:

  • 1.1.2 Calendario comercial ( https://udata.hs.net/datas/200/)
    • Obtener la hora del día de negociación
  • 1.2.1 Cotizaciones diarias de acciones ( https://udata.hs.net/datas/332/)
    • Obtenga el mercado diario de Shanghai y Shenzhen, incluido el precio de cierre de ayer, el precio de apertura, el precio más alto, el precio más bajo, el precio de cierre, el volumen de operaciones, el monto de la transacción y otros datos;
  • 1.2.3 Cotizaciones de acciones mensuales ( https://udata.hs.net/datas/334/)
    • Obtenga el mercado mensual de Shanghái y Shenzhen, incluidos datos como el precio de cierre antes del mes, el precio de apertura del mes, el precio más alto del mes, el precio más bajo del mes, el precio de cierre del mes, el comercio mensual volumen y el monto de negociación mensual;
  • 1.4.27 Información básica de valoración ( https://udata.hs.net/datas/406/)
    • Utilice los indicadores financieros divulgados en los informes periódicos para realizar análisis de valoración de las empresas que cotizan en bolsa, que incluyen principalmente la tasa de dividendos, la relación precio-valor contable, la relación precio-ventas, la relación precio-efectivo y otros indicadores, y admita la entrada simultánea de varios códigos de acciones;

El código de programa de la parte de datos es el siguiente:

import hs_udata as hs
import pandas as pd

# 获取从开始日期到目前日期的每个月的最后一个交易日
def get_trade_dates(token, start_date):
    hs.set_token(token)
    trade_date = hs.trading_calendar(secu_market='83',
                                     if_trading_day='1',
                                     if_month_end='1',
                                     start_date=start_date)
    return trade_date


# 获取记录A股上市、退市股票交易代码、股票名称、上市状态等信息;
def get_stock_a(token):
    hs.set_token(token)
    # 默认取全部,1-上市,2-终止;
    listed_state = "1"
    fields = "secu_code,chi_name,hs_code,secu_market,listed_sector"
    stock_datas = hs.stock_list(listed_state, fields)
    return stock_datas


# 获取 交易日期 股票行情,公司等信息
def get_stock_month_trade(token, secu_code, trade_date):
    hs.set_token(token)

    # 获取股票交易信息
    # 获取数据:证劵代码,交易日期,开盘价,最高价,收盘价,涨跌幅,成交数量,成交额,换手率,涨跌停状态,交易状态
    stock_fields = "prod_code,trading_date,open_price,high_price,close_price,px_change_rate," \
                   "business_amount,business_balance,turnover_ratio,up_down_status,turnover_status"
    stock_data = hs.stock_quote_daily(en_prod_code=secu_code,
                                      trading_date=trade_date,
                                      adjust_way=2,
                                      fields=stock_fields)

    # 获取公司估值等信息
    # 获取数据:证劵代码,交易日期,总市值,总市值(证监会算法),市净率PB(最新财报,LF),市盈率(最新年报,LYR)
    value_fields = "prod_code,total_market_value,total_market_value_zjh,pb_lf,pe_rate_lyr"
    value_data = hs.valuation_info(en_prod_code=secu_code,
                                   trading_date=trade_date,
                                   fields=value_fields)
    res_data = pd.merge(stock_data, value_data, how='left', on='prod_code')
    return res_data

Los resultados obtenidos al ejecutar el programa se muestran en la figura:

imagen-20211120191635802.png

Resumir

Obtener datos financieros como acciones a través de Hengyoushu es muy fácil de operar, lo que mejora en gran medida la eficiencia del análisis de datos financieros y otras aplicaciones.

Supongo que te gusta

Origin blog.csdn.net/weixin_44433834/article/details/122620043
Recomendado
Clasificación