12. Complete los datos automáticamente utilizando canales de adquisición de datos.
Hemos introducido los métodos de operación básicos del objeto DataSource. Sin embargo, en el uso real, necesitamos completar el objeto DataSource con una gran cantidad de datos. Si completamos manualmente los datos usando el método DataSource.update_table_data() introducido en el capítulo anterior, la carga de trabajo será muy grande.
Aquí presentamos cómo utilizar canales de adquisición de datos para completar datos automáticamente.
12.1. QTEASY función de recuperación de datos
QTEASY Módulo de gestión de datos: 
Como se muestra en el diagrama anterior, la funcionalidad de datos de qteasy se divide en tres capas. La primera capa incluye varias interfaces de descarga de datos para obtener datos de proveedores de datos en línea; este proceso se llama DataFetching.
12.2. La interfaz de recuperación de datos refill_data_source()
qteasy proporciona una interfaz de descarga de datos automatizada qteasy.refill_data_source(), que puede extraer varios datos financieros de múltiples proveedores de datos en línea diferentes para satisfacer los hábitos de uso de diferentes usuarios. La API de extracción de datos proporcionada por qteasy presenta potentes funciones de descarga paralela multiproceso, descarga de fragmentos de datos, control de tráfico de descarga y reintento de retardo de error para adaptarse a los diversos límites de tráfico impredecibles de diferentes proveedores de datos. Al mismo tiempo, la API de extracción de datos puede ejecutar fácil y automáticamente tareas de descarga de datos por lotes de forma regular, por lo que no tiene que preocuparse por perder datos de alta frecuencia.
Primero usemos un ejemplo para explicar cómo completar datos automáticamente usando la interfaz qteasy.refill_data_source(). Comenzaremos creando un objeto DataSource que no contenga ningún dato y luego lo rellenaremos con los datos más básicos.
>>> import qteasy as qt
>>> ds = qt.DataSource()
# 检查数据源中是否有数据
>>> ds.overview()
Analyzing local data source tables... depending on size of tables, it may take a few minutes
[########################################]104/104-100.0% A...zing completed!
Finished analyzing datasource:
file://csv@qt_root/data/
3 table(s) out of 104 contain local data as summary below, to view complete list, print returned DataFrame
===============================tables with local data===============================
Has_data Size_on_disk Record_count Record_start Record_end
table
trade_calendar True 1.8MB 70K CFFEX SZSE
stock_basic True 852KB 5K None None
stock_daily True 98.8MB 1.3M 20211112 20241231
Como podemos ver, el objeto DataSource ya contiene algunas tablas de datos. Para realizar las siguientes pruebas, primero eliminaremos los datos de las tablas de datos trade_calendar y stock_daily y luego usaremos la interfaz de recuperación de datos para completarlos automáticamente.
Primero, elimine dos tablas de datos. Para eliminar una tabla de datos, primero establezca el atributo allow_drop_table de la fuente de datos en True y luego elimine la tabla de datos.
>>> ds.allow_drop_table = True
>>> ds.drop_table_data('trade_calendar')
>>> ds.drop_table_data('stock_daily')
>>> ds.allow_drop_table = False
>>> overview = ds.overview()
Analyzing local data source tables... depending on size of tables, it may take a few minutes
[########################################]104/104-100.0% A...zing completed!
Finished analyzing datasource:
file://csv@qt_root/data/
1 table(s) out of 104 contain local data as summary below, to view complete list, print returned DataFrame
===============================tables with local data===============================
Has_data Size_on_disk Record_count Record_start Record_end
table
stock_basic True 852KB 5K None None
Como puede ver, los datos de las tablas trade_calendar y stock_daily se han eliminado.
A continuación, usaremos la interfaz qteasy.refill_data_source() para completar automáticamente los datos. El código es muy sencillo, con una sola línea, y qteasy hará el resto automáticamente.
>>> qt.refill_data_source(
tables='stock_daily', # 指定要填充的数据表:股票日K线数据
channel='tushare', # 指定数据下载渠道
data_source=ds, # 指定需要填充的数据源对象
start_date='20210101', # 指定数据下载的起始日期
end_date='20211231', # 指定数据下载的结束日期
)
Filling data source file://csv@qt_root/data/ ...
into 2 table(s) (parallely): {'stock_daily', 'trade_calendar'}
[########################################]243/243-100.0% <stock_daily> 2398764 wrtn in about 16 sec
[########################################]7/7-100.0% <trade_calendar> 70054 wrtn in about 1 sec
Data refill completed! 2468818 rows written into 2/2 table(s)!
Después de extraer y completar los datos, puede verificar que los datos se hayan descargado correctamente:
>>> ds.read_table_data('stock_daily', shares='000001.SZ, 000002.SZ', start='20211111', end='20211131')
open high low close pre_close change pct_chg \
ts_code trade_date
000001.SZ 2021-11-11 17.35 18.43 17.32 18.35 17.40 0.95 5.4598
2021-11-12 18.31 18.63 18.11 18.27 18.35 -0.08 -0.4360
2021-11-15 18.35 18.63 18.20 18.43 18.27 0.16 0.8758
2021-11-16 18.36 18.54 18.17 18.22 18.43 -0.21 -1.1394
2021-11-17 18.15 18.30 17.98 18.11 18.22 -0.11 -0.6037
2021-11-18 18.09 18.12 17.73 17.80 18.11 -0.31 -1.7118
2021-11-19 17.80 18.24 17.70 18.15 17.80 0.35 1.9663
2021-11-22 18.03 18.25 17.90 18.12 18.15 -0.03 -0.1653
2021-11-23 18.11 18.35 17.68 17.88 18.12 -0.24 -1.3245
2021-11-24 17.77 17.95 17.66 17.87 17.88 -0.01 -0.0559
2021-11-25 17.74 17.79 17.63 17.68 17.87 -0.19 -1.0632
2021-11-26 17.62 17.67 17.52 17.58 17.68 -0.10 -0.5656
2021-11-29 17.41 17.57 17.36 17.51 17.58 -0.07 -0.3982
2021-11-30 17.54 17.68 17.35 17.44 17.51 -0.07 -0.3998
000002.SZ 2021-11-11 18.95 20.84 18.89 20.79 18.98 1.81 9.5364
2021-11-12 20.50 20.50 19.41 19.76 20.79 -1.03 -4.9543
2021-11-15 19.56 19.59 19.12 19.40 19.76 -0.36 -1.8219
2021-11-16 19.29 19.57 19.21 19.24 19.40 -0.16 -0.8247
2021-11-17 19.23 19.53 19.09 19.46 19.24 0.22 1.1435
2021-11-18 19.35 19.40 18.98 19.09 19.46 -0.37 -1.9013
2021-11-19 19.01 20.28 18.92 19.90 19.09 0.81 4.2431
2021-11-22 19.90 19.95 19.19 19.22 19.90 -0.68 -3.4171
2021-11-23 19.19 19.44 19.10 19.24 19.22 0.02 0.1041
2021-11-24 19.12 19.38 19.00 19.30 19.24 0.06 0.3119
2021-11-25 19.22 19.35 19.07 19.22 19.30 -0.08 -0.4145
2021-11-26 19.15 19.15 18.95 18.99 19.22 -0.23 -1.1967
2021-11-29 18.75 18.87 18.35 18.46 18.99 -0.53 -2.7909
2021-11-30 18.44 18.66 18.16 18.26 18.46 -0.20 -1.0834
vol amount
ts_code trade_date
000001.SZ 2021-11-11 2084729.00 3752413.858
2021-11-12 957546.46 1753072.716
2021-11-15 655089.99 1203764.095
2021-11-16 601110.48 1099113.409
2021-11-17 664640.38 1203859.180
2021-11-18 799843.77 1430058.311
2021-11-19 786371.56 1414506.380
2021-11-22 738617.80 1337768.172
2021-11-23 1235977.96 2213817.590
2021-11-24 741310.84 1316774.397
2021-11-25 603532.70 1068221.304
2021-11-26 694499.88 1219937.312
2021-11-29 512594.71 895105.981
2021-11-30 733616.06 1280384.552
000002.SZ 2021-11-11 3151015.76 6352746.112
2021-11-12 2065924.12 4100076.111
2021-11-15 959331.52 1852352.374
2021-11-16 593989.40 1149085.955
2021-11-17 623749.71 1205064.294
2021-11-18 609995.75 1168010.581
2021-11-19 1308293.09 2570652.947
2021-11-22 877584.30 1697701.639
2021-11-23 563435.65 1083646.252
2021-11-24 827366.98 1587246.249
2021-11-25 518123.06 995473.890
2021-11-26 504023.33 959331.064
2021-11-29 718595.81 1334479.867
2021-11-30 713092.22 1305310.857
12.3. Características de la API de recuperación de datos
Al analizar el proceso de recuperación de datos, podemos ver que qteasy completó automáticamente las siguientes tareas:
Búsqueda automática de tablas de dependencia: aunque solo especificamos la tabla
stock_daily,qteasydetectó automáticamente que la tablatrade_calendartambién estaba vacía y, dado que la tablastock_dailydepende de la tabla del calendario comercial, también completó automáticamente la tablatrade_calendar.Visualización del progreso de la descarga:
qteasyproporciona visualización del progreso de la descarga, lo que permite a los usuarios ver el progreso de la descarga de cada bloque de datos, así como el progreso general de la descarga. También muestra el tiempo restante, lo que facilita a los usuarios monitorear el estado de descarga de datos.** Fragmentación automática de datos **: el código anterior descargó datos de gráficos de velas diarios para todas las acciones a lo largo de 2021, con un total de 2,39 millones de filas. Independientemente de la fuente de datos, una cantidad tan enorme de datos no se puede descargar de una sola vez. Por lo tanto,
qteasyfragmenta automáticamente los datos, y cada fragmento contiene solo los datos de un día. Como puede ver, los datos de todo el año se dividieron en 243 partes. Esta descarga fragmentada reduce significativamente la cantidad de datos solicitados por solicitud de red, lo que aumenta la tasa de éxito y reduce el riesgo de ser bloqueado.Descarga paralela de subprocesos múltiples: después de implementar la fragmentación de datos para la descarga,
qteasyutiliza automáticamente la descarga paralela de subprocesos múltiples para acelerar el proceso de descarga de datos. El tiempo total para descargar 243 fragmentos de datos en paralelo fue de sólo 16 segundos.
Con estas características, la función de recuperación de datos de qteasy puede satisfacer las necesidades de adquisición de datos de casi todos los usuarios. Ya sea que descargue grandes cantidades de datos o datos de alta frecuencia, qteasy puede proporcionar servicios de descarga de datos eficientes.
Por supuesto, además de las funciones mencionadas anteriormente, qteasy ofrece muchas más funciones para abordar diversas situaciones que puedan surgir durante el proceso de descarga. Presentaremos estas características en detalle más adelante:
Descarga multicanal:
qteasyproporciona múltiples canales de descarga de datos. Se pueden descargar muchas tablas de datos desde múltiples canales diferentes, y la cantidad de canales de recuperación de datos aumenta constantemente con cada actualización de versión.Control de tráfico: algunos canales de datos tienen límites de tráfico en las descargas de datos.
qteasyproporciona una función de control de tráfico que puede limitar la velocidad de descarga de datos. Es decir, después de descargar una cierta cantidad de fragmentos de datos, puede hacer una pausa por un período de tiempo. Por ejemplo, haga una pausa de un minuto después de descargar 300 fragmentos de datos para evitar que el canal de datos lo bloquee.Reintento de error: al descargar datos de algunas fuentes de datos, pueden ocurrir errores de red.
qteasyproporciona una función de reintento de error, que puede reintentar automáticamente la descarga después de un error. Si el reintento no tiene éxito, ampliará el tiempo de espera del reintento y volverá a intentarlo hasta que la descarga se realice correctamente o se exceda el número de reintentos y se informe un error.Grabación de registros:
qteasyproporciona una función de grabación de registros de descarga de datos, que puede registrar información detallada para cada descarga de datos, incluida la cantidad de datos descargados, el tiempo de descarga, la velocidad de descarga, etc., lo que hace que sea conveniente para los usuarios ver el estado de la descarga de datos.
Datos extraídos de múltiples canales
qteasy ofrece múltiples canales de descarga de datos, lo que permite descargar muchas tablas de datos desde varios canales. Además, con cada actualización de versión, la cantidad de canales de recuperación de datos continúa aumentando.
refill_data_source()接口的channel参数可以指定数据下载渠道,如果不指定,qteasy会使用默认渠道tushare(见qteasy/core.py中refill_data_source的默认逻辑)。用户也可以手动指定数据下载渠道。
当前内置四通道为:tushare、akshare、eastmoney(别名 emoney)、sina。
四通道能力对照(常用表)
下表概括常用数据表在各通道下的支持情况(「支持」表示当前版本已实现映射并可走 refill 链路;「不支持」表示该通道无映射,refill 会跳过并提示)。AKShare 完整 108 表状态见仓库内维护清单 tests/akshare_data_test_checklist.md。
数据表 |
tushare |
akshare |
eastmoney |
sina |
|---|---|---|---|---|
trade_calendar |
支持(需 token/积分) |
支持 |
暂不支持 |
暂不支持 |
stock_basic |
支持(行业/上市日等完整) |
支持(代码+简称索引;行业/地域等常为空) |
部分场景不支持 |
暂不支持 |
index_basic / fund_basic |
支持 |
支持(字段少于 Tushare 的项可能为空) |
部分 |
暂不支持 |
stock_daily / weekly / monthly |
支持 |
支持 |
支持(日/部分分) |
支持(日/分) |
stock_5/15/30min、hourly |
支持 |
支持 |
支持 |
支持 |
stock_adj_factor |
支持 |
支持(新浪因子源) |
暂不支持 |
暂不支持 |
index_daily / weekly / monthly |
支持 |
支持 |
支持(日) |
暂不支持 |
fund_daily / weekly / monthly / 1min |
支持 |
支持 |
部分 |
暂不支持 |
stock_suspend / money_flow / dividend |
支持 |
支持 |
暂不支持 |
暂不支持 |
new_share / stock_company |
支持 |
支持(字段可能少于 Tushare) |
暂不支持 |
暂不支持 |
realtime_bars / realtime_quotes |
支持 |
支持 |
支持 |
支持 |
index_1min 等指数分钟 |
支持 |
暂不支持(待 spike) |
支持 |
暂不支持 |
说明:
basics 表与
merge_type='update':对table_usage=='basics'的表(如stock_basic、index_basic、fund_basic等),主键冲突时仅用下载侧非空字段覆盖对应列,下载值为空字符串或NULL时保留本地已有值。因此可用 AKShare 补全代码列表拉分钟线依赖表,而不会冲掉此前用 Tushare 写入的industry、list_date等。按行业/地域筛选股票(filter_stocks/filter_stock_codes)仍建议以 Tushare 的stock_basic为准或先确认本地行业列非空。tushare:覆盖最全,多数表需配置
tushare_token及相应积分/权限。akshare:无需 token;当前 25 张历史/基础/事件表已实现(见
tests/akshare_data_test_checklist.md),其余表仍为blocked或not_supported。stock_basic等 basics 表仅保证 代码与名称索引,不替代 Tushare 完整基本面。eastmoney:无需 token;分钟线覆盖较全,部分基础表(如
stock_basic)可能无法从此通道拉取。sina:无需 token;以股票日线与分钟线为主,无周/月线等。
El siguiente código intenta descargar datos de velas diarias de la tabla de datos stock_daily para los dos primeros meses de 2025 desde el canal de datos eastmoney:
>>> qt.refill_data_source(
tables='stock_daily',
channel='eastmoney', # 指定数据下载渠道为东方财经
data_source=ds,
start_date='20250101',
end_date='20250301',
)
Filling data source file://csv@qt_root/data/ ...
into 2 table(s) (parallely): {'stock_daily', 'stock_basic'}
[########################################]11078/11078-100.0% <stock_daily> 131264304 wrtn in about 17 min
[----------------------------------------]0/1-0.0% <stock_basic> can't be fetched from channel:eastmoney!
Data refill completed! 131264304 rows written into 1/2 table(s)!
Verifique que los datos se descargaron exitosamente:
>>> ds.read_table_data('stock_daily', shares='000001.SZ, 000002.SZ', start='20250101', end='20250103')
open high low close pre_close change pct_chg \
ts_code trade_date
000001.SZ 2025-01-13 11.25 11.26 11.08 11.20 11.30 -0.10 -0.8850
2025-01-14 11.20 11.40 11.19 11.38 11.20 0.18 1.6071
2025-01-15 11.38 11.58 11.36 11.48 11.38 0.10 0.8787
2025-01-16 11.55 11.59 11.47 11.57 11.48 0.09 0.7840
2025-01-17 11.53 11.55 11.42 11.45 11.57 -0.12 -1.0372
2025-01-20 11.50 11.52 11.40 11.42 11.45 -0.03 -0.2620
2025-01-21 11.45 11.45 11.32 11.33 11.42 -0.09 -0.7881
2025-01-22 11.32 11.33 11.08 11.09 11.33 -0.24 -2.1183
2025-01-23 11.17 11.40 11.17 11.32 11.09 0.23 2.0739
2025-01-24 11.32 11.39 11.22 11.34 11.32 0.02 0.1767
2025-01-27 11.38 11.55 11.38 11.47 11.34 0.13 1.1464
000002.SZ 2025-01-13 6.60 6.77 6.55 6.76 6.69 0.07 1.0463
2025-01-14 6.76 6.93 6.75 6.91 6.76 0.15 2.2189
2025-01-15 6.88 6.96 6.79 6.86 6.91 -0.05 -0.7236
2025-01-16 6.90 7.07 6.84 6.88 6.86 0.02 0.2915
2025-01-17 6.58 6.65 6.45 6.63 6.88 -0.25 -3.6337
2025-01-20 6.60 6.94 6.48 6.85 6.63 0.22 3.3183
2025-01-21 6.84 7.54 6.82 7.36 6.85 0.51 7.4453
2025-01-22 7.27 7.36 6.98 7.02 7.36 -0.34 -4.6196
2025-01-23 7.15 7.70 7.08 7.36 7.02 0.34 4.8433
2025-01-24 7.33 7.54 7.21 7.39 7.36 0.03 0.4076
2025-01-27 7.38 7.56 7.22 7.27 7.39 -0.12 -1.6238
vol amount
ts_code trade_date
000001.SZ 2025-01-13 934966.0 1044904.416
2025-01-14 824629.0 934467.766
2025-01-15 1031631.0 1185403.653
2025-01-16 872964.0 1007689.274
2025-01-17 689765.0 791230.419
2025-01-20 832029.0 953092.179
2025-01-21 902069.0 1024879.174
2025-01-22 1347129.0 1504818.607
2025-01-23 1514920.0 1715172.472
2025-01-24 944944.0 1069899.088
2025-01-27 1151935.0 1324270.607
000002.SZ 2025-01-13 911147.0 611005.036
2025-01-14 1116454.0 765177.082
2025-01-15 887294.0 608363.557
2025-01-16 1110545.0 771648.218
2025-01-17 3620283.0 2369977.993
2025-01-20 2988167.0 2009728.944
2025-01-21 5849397.0 4290640.172
2025-01-22 3448728.0 2457396.391
2025-01-23 4416581.0 3245710.622
2025-01-24 2555024.0 1885566.128
2025-01-27 2151753.0 1580357.769
La descarga de datos fue claramente exitosa. Analizando el proceso de descarga anterior, se pueden observar varias características:
Los datos descargados de diferentes canales están en el mismo formato. Este es un principio de diseño de
qteasy. Los datos descargados de diferentes canales se someterán al mismo proceso de limpieza. Esto permite a los usuarios cambiar fácilmente entre diferentes canales de descarga de datos sin preocuparse por los problemas de procesamiento de datos causados por diferentes formatos de datos.Los diferentes canales de descarga utilizan diferentes métodos de fragmentación, lo que da lugar a diferentes velocidades de descarga. El canal de datos
eastmoneyes más lento y tarda aproximadamente 17 minutos en completarse. Esto se debe a las limitaciones específicas de cada canal de descarga.Diferentes canales de descarga pueden permitir descargar diferentes tablas de datos. Es posible que algunas tablas de datos no se puedan descargar a través de ciertos canales, posiblemente debido a restricciones de permisos u otros factores. Si no se puede descargar una tabla de datos,
qteasyomitirá automáticamente esa tabla de datos sin afectar la descarga de otras tablas de datos.
Por lo tanto, los usuarios deben elegir diferentes canales para recuperar datos según sus propias circunstancias.
通道切换与配置
一次性下载(脚本 / 交互):在 refill_data_source(..., channel='...') 中显式传入通道名即可,例如 Tushare 与 AKShare 对比如下:
>>> qt.refill_data_source(tables='stock_daily', channel='tushare', start_date='20240101', end_date='20240131')
>>> qt.refill_data_source(tables='stock_daily', channel='akshare', start_date='20240101', end_date='20240131')
实盘默认渠道(写入 qteasy.cfg 或通过 qt.configure() 修改):
配置键 |
含义 |
默认值 |
|---|---|---|
|
Trader 日更自动 refill 使用的通道 |
|
|
实盘获取实时价格的通道 |
|
示例:
>>> qt.configure(live_trade_data_refill_channel='akshare')
>>> qt.configure(live_price_acquire_channel='akshare')
修改后,实盘任务会使用新通道执行 refill / 取价;历史脚本仍可在每次 refill_data_source 调用中单独指定 channel,与全局配置无关。
Implementar control de tráfico de descarga
El refill_data_source de qteasy proporciona una función de control de flujo que puede limitar la velocidad de descarga de datos. Es decir, después de descargar una cierta cantidad de fragmentos de datos, puede pausarse por un período de tiempo. Por ejemplo, puede hacer una pausa de un minuto después de descargar 300 fragmentos de datos para evitar que el canal de datos lo bloquee.
Esta funcionalidad se logra a través de los parámetros download_batch_size y download_batch_interval de la interfaz refill_data_source():
El parámetro
download_batch_sizeespecifica la cantidad de fragmentos de datos descargados cada vez. Si se establece en 300, la descarga se detendrá durante un período de tiempo después de descargar 300 fragmentos de datos.El parámetro
download_batch_intervalespecifica el tiempo de pausa después de descargar cada fragmento de datos; el valor predeterminado es 0, lo que significa que no hay pausa.
El siguiente código demuestra cómo implementar el control del tráfico de descarga utilizando los parámetros download_batch_size y download_batch_interval:
>>> qt.refill_data_source(
tables='stock_daily',
channel='tushare',
data_source=ds,
start_date='20250101',
end_date='20250301',
download_batch_size=300, # 每次下载300个数据分块
download_batch_interval=60, # 每次下载300个数据分块后暂停60秒
)
Si se utiliza control de tráfico, el tiempo de descarga naturalmente será mayor, pero para algunos canales de datos esto es necesario; de lo contrario, la descarga puede bloquearse o encontrar errores, lo que provocará un error en la descarga.
Implementar reintentos de error
Cabe señalar que si ocurre un error durante el proceso de descarga de datos, qteasy volverá a intentar la descarga automáticamente. El mecanismo de reintento es el siguiente:
Después de que falle la primera descarga, se producirá una breve espera antes de volver a intentarlo; el tiempo de espera predeterminado es 1,0 segundo.
Cada vez que falla un reintento, el tiempo de espera aumentará y el tiempo de espera predeterminado aumentará al doble del valor original. Es decir, la primera vez espera 1,0 segundo, la segunda vez espera 2,0 segundos, la tercera vez espera 4,0 segundos, y así sucesivamente.
Los reintentos se detendrán y se informará un error después de que se exceda el número máximo de reintentos. De forma predeterminada, el número máximo de reintentos es 7.
Los tres parámetros de reintento de error anteriores se configuran a través del archivo de configuración qteasy. Los usuarios pueden ver o modificar estos parámetros a través de la interfaz qt.config(), o pueden modificar estos parámetros en el archivo de configuración inicial de qteasy.
hist_dnld_retry_cnt: número máximo de reintentos, el valor predeterminado es 7.hist_dnld_retry_wait: el tiempo de espera para el primer reintento; el valor predeterminado es 1,0 segundo.hist_dnld_backoff: el multiplicador para aumentar el tiempo de espera de reintento; el valor predeterminado es 2.0.
Para obtener instrucciones sobre cómo modificar el archivo de configuración o utilizar el archivo de configuración inicial para qteasy, consulte la sección del archivo de configuración de qteasy (…/api/api_reference.rst).
Explotación florestal
qteasy proporciona una función de registro de descarga de datos, que puede registrar información detallada para cada descarga de datos, incluida la cantidad de datos descargados, el tiempo de descarga, la velocidad de descarga, etc., lo que hace que sea conveniente para los usuarios verificar el estado de la descarga de datos.
Otras funciones
La interfaz qteasy refill_data_source() también proporciona otras funcionalidades, como:
Para limitar el rango de datos descargados, puede usar los parámetros
start_dateyend_datepara restringir el rango de tiempo de los datos descargados, y el parámetrosharespara restringir el rango de acciones que se descargarán.未传
start_date/end_date时的默认行为:内部将start_date视为该表映射中的最早可用日(如new_share为19700101),end_date视为当天。因此tables='basics'会包含需按日期分块下载的new_share(IPO 新股);若不传日期,会从 1970-01-01 分块拉至今日,耗时较长。若只需代码/行业类 basics、不要 IPO 表,请显式指定表名或传入较窄的日期窗。Para configurar si descargar en paralelo, puede usar el parámetro
parallel. Si se establece en False, las descargas se realizarán en serie; en caso contrario, se realizarán en paralelo.Para configurar si desea descargar tablas de dependencia, puede usar el parámetro
download_dependent. Si se establece en False, las tablas de dependencia no se descargarán; de lo contrario, se descargarán.Configure si desea forzar una actualización del calendario de transacciones.
Para obtener más explicaciones sobre esta interfaz, consulte la documentación de la API qteasy (…/api/history_data.rst).