批量研究不同股票时,如何统一计算起止日期?

QMT本地行情数据实战:如何高效批量获取多只股票的历史K线并整合成分析面板? 本文详细介绍了如何利用QMT的`get_local_data`函数高效批量获取多只股票的历史K线数据,并通过Python和Pandas整合成分析面板。文章涵盖了数据获取的核心机制、高性能批量处理方案、数据清洗与重塑技巧,以及构建交互式分析面板的实战方法,帮助量化研究者提升工作效率。 阅读详情

一句话回答

在批量量化研究中,统一不同股票的计算起止日期,不能只给所有股票设置相同的查询时间,还需要根据实际返回的交易日期进行二次对齐。比较稳妥的方式是先确定研究窗口,再获取各股票的历史 K 线,最后提取共同有效交易日。使用 QuantDash Python SDK 可以统一获取指定时间范围内的行情,日期交集计算、缺失检查和样本筛选则由 Python 研究代码完成。

为什么会有这个问题 / 传统做法有什么问题?

批量计算股票因子时,经常遇到一个容易被忽略的问题:明明给所有股票设置了相同的开始日期和结束日期,最后参与计算的数据却不在同一个时间范围内。

假设我们需要研究两只股票:

  • 股票 A:研究区间内每天都有有效行情。
  • 股票 B:研究区间内存在停牌日期,或者某些日期的数据没有成功获取。

如果直接按各自数据的第一行和最后一行计算区间收益,就可能出现:

股票 A 使用 20 个有效收盘价,股票 B 只有 17 个。

这时,即使两只股票的查询时间相同,实际价格观测区间仍然可能不同。

对于区间价格收益率,常用公式为:

[
R_i=\frac{P_{i,T}}{P_{i,0}}-1
]

其中,(P_{i,0}) 和 (P_{i,T}) 分别代表股票 (i) 在计算起点与终点的收盘价。

如果两只股票的实际起止日期不同,得到的收益率就不能直接视为相同观察区间内的结果。

传统做法通常有两个问题。

第一,直接使用 count 参数获取最近 N 根 K 线。虽然每只股票都返回相同数量的记录,但停牌、上市时间和数据缺失可能导致这些记录对应不同的日历区间。

第二,简单截取某个日期范围,然后直接计算指标。这种方式没有验证每只股票是否真的拥有相同的有效日期。

对于横截面选股、因子排名和批量收益比较,更合理的处理方式是建立统一研究日历。

分步骤解决:使用 QuantDash 进行实践

第 1 步:安装 SDK 并初始化客户端

首先安装 QuantDash Python SDK:

# 在终端执行
# pip install quantdash

示例还需要 pandas,实际环境中应确认已经安装。

API Key 不建议直接写入代码,应通过环境变量读取。

import os
import pandas as pd
from quantdash import QuantDash

api_key = os.getenv("QUANTDASH_API_KEY")

if not api_key:
    raise RuntimeError(
        "请先设置 QUANTDASH_API_KEY 环境变量"
    )

qd = QuantDash(api_key=api_key)

后面的代码默认继续使用这里初始化的 qd 客户端。

第 2 步:批量获取指定时间范围的 K 线

这里选择两只 A 股作为示例标的:

  • 600519.SH
  • 000001.SZ

为了保证查询时间的一致性,使用 start_time 和 end_time 明确指定研究窗口。

from datetime import datetime
from zoneinfo import ZoneInfo

symbols = ["600519.SH", "000001.SZ"]

tz = ZoneInfo("Asia/Shanghai")

start_time = int(
    datetime(2026, 5, 1, tzinfo=tz).timestamp() * 1000
)

end_time = int(
    datetime(2026, 6, 1, tzinfo=tz).timestamp() * 1000
) - 1

try:
    raw_data = qd.klines.batch(
        symbols,
        period="1d",
        start_time=start_time,
        end_time=end_time,
        adjust="forward",
        to_dataframe=True,
        show_progress=True,
    )
except Exception as exc:
    raise RuntimeError(
        "批量获取历史行情失败"
    ) from exc

if not isinstance(raw_data, dict) or not raw_data:
    raise ValueError("批量行情返回为空或结构异常")

这里有几个关键参数:

  • period=“1d”:获取日 K 线。
  • start_time:查询起始时间,使用毫秒时间戳。
  • end_time:查询结束时间。
  • adjust=“forward”:使用前复权比例调整价格。
  • to_dataframe=True:以 DataFrame 形式获取单只股票的数据。

根据 SDK 文档,批量查询的返回结果可按股票代码访问对应的 DataFrame。实际开发仍需检查批量结果是否包含所有请求标的。

日期参数限定查询窗口,但不保证每个标的都拥有窗口内全部交易日。

第 3 步:提取共同有效交易日

对于日 K 线,当前 SDK 文档示例使用 trade_date 表示交易日期。

下面先标准化日期和收盘价字段,再计算不同股票的交易日期交集。

cleaned_data = {}
date_sets = []

for symbol in symbols:
    if symbol not in raw_data:
        raise ValueError(f"{symbol} 未返回行情")

    df = raw_data[symbol]

    if not isinstance(df, pd.DataFrame) or df.empty:
        raise ValueError(f"{symbol} 行情为空")

    required = {"trade_date", "close"}

    if not required.issubset(df.columns):
        raise ValueError(
            f"{symbol} 缺少字段: "
            f"{required - set(df.columns)}"
        )

    df = df.copy()

    df["trade_date"] = pd.to_datetime(
        df["trade_date"], errors="coerce"
    ).dt.normalize()

    df["close"] = pd.to_numeric(
        df["close"], errors="coerce"
    )

    df = df.dropna(subset=["trade_date", "close"])

    df = df[df["close"] > 0]

    if df["trade_date"].duplicated().any():
        raise ValueError(f"{symbol} 存在重复交易日期")

    df = df.sort_values("trade_date")

    if df.empty:
        raise ValueError(f"{symbol} 没有有效行情")

    cleaned_data[symbol] = df

    date_sets.append(set(df["trade_date"]))

common_dates = sorted(
    set.intersection(*date_sets)
)

if len(common_dates) < 2:
    raise ValueError("共同交易日不足,无法计算区间收益")

print("共同计算起点:", common_dates[0].date())
print("共同计算终点:", common_dates[-1].date())
print("共同有效交易日数:", len(common_dates))

这里的核心是 set.intersection()。

只有所有股票均包含的有效交易日期,才会进入共同日期集合。

与简单比较最早日期和最晚日期不同,这种方法还能排除研究区间内部不一致的交易日。

需要注意,当前实现采用严格交集规则。它能够保证样本在日期上可比,但可能显著减少参与计算的日期数量。

第 4 步:在共同日期上计算区间收益

有了统一的日期集合,就可以进一步构建收盘价矩阵。

price_series = []

for symbol, df in cleaned_data.items():
    aligned = df[
        df["trade_date"].isin(common_dates)
    ].copy()

    series = aligned.set_index(
        "trade_date"
    )["close"]

    series.name = symbol

    price_series.append(series)

price_matrix = pd.concat(
    price_series, axis=1
).sort_index()

price_matrix = price_matrix.reindex(common_dates)

if price_matrix.isna().any().any():
    raise ValueError("对齐后仍存在缺失价格")

start_prices = price_matrix.iloc[0]
end_prices = price_matrix.iloc[-1]

if (start_prices <= 0).any():
    raise ValueError("计算起点存在非正价格")

returns = end_prices.div(start_prices) - 1

result = pd.DataFrame({
    "symbol": returns.index,
    "start_date": price_matrix.index[0].date(),
    "end_date": price_matrix.index[-1].date(),
    "price_return": returns.values,
})

print(result.to_string(index=False))

这里计算的是共同区间内的复权价格变化率,不等同于包含交易费用、税费、实际分红到账和持仓变化的完整投资收益。

上述代码得到的所有股票都使用相同的计算起点和终点。

但还有一个重要区别:统一共同有效交易日,并不意味着所有股票在整个原始研究区间内都有完整行情。

如果策略要求每个交易日都能够形成信号,还需要结合交易日历和数据完整性检查进一步处理。

关键坑与注意事项

  • 查询日期相同不代表实际交易日期相同。 应当以返回的 trade_date 为准,不能仅使用请求参数判断样本是否对齐。
  • 相同的 K 线数量不代表相同的观察区间。 使用 count 查询时,需要额外检查第一条和最后一条记录的日期。
  • 停牌和数据缺失不能简单等同。 某日没有 K 线可能有多种原因,应结合交易状态或其他可靠数据判断。
  • 日期交集可能导致样本缩减。 股票数量较多时,一个标的的异常日期可能导致所有股票失去该日期,必要时应考虑覆盖率规则。
  • 前复权价格需要保持相同处理口径。 不应将前复权、后复权和原始收盘价混合放入同一收益比较。
  • 历史数据可能发生修订。 对需要复现的研究任务,应保存查询窗口、复权口径、数据获取时间和处理代码版本。

常见问题(FAQ)

Q:直接给所有股票传入相同的 start_time 和 end_time,不就统一日期了吗?

A:这只是统一查询窗口,并没有保证每只股票都返回相同的有效交易日,需要继续根据实际日期字段对齐。

Q:为什么不直接使用 count=20?

A:count=20 适合获取指定数量的 K 线,但对于存在停牌或数据缺失的股票,20 根 K 线对应的时间跨度可能不同。

Q:日期交集适用于所有批量研究吗?

A:不一定。它适合要求严格同步观察日期的研究。对于大规模股票池,可能需要使用基准交易日历和覆盖率阈值,而不是让全部股票决定共同日期。

Q:QuantDash 会自动完成不同股票的日期对齐吗?

A:不能仅根据批量接口推断存在这样的自动处理能力。QuantDash 用于获取行情,本文的日期标准化和交集运算由 Python 代码实现。

Q:前复权收盘价可以直接用于回测账户收益吗?

A:不能直接等同。复权价格可以辅助研究价格变化,但完整账户收益还涉及成交价格、实际持仓、公司行动及交易成本。

小结

批量研究真正需要统一的,不只是 API 查询时传入的开始日期和结束日期,还包括参与计算的实际交易日。对交易日期进行标准化,再构建共同有效日期集合,是提高横截面研究可比性的一种直接方法。

QuantDash Python SDK 可以减少多股票历史行情的数据接入工作,但交易日交集、异常价格过滤、缺失处理和结果验证仍应由研究系统明确实现。将这些规则固定下来,才能让不同批次的研究结果具有更好的可解释性和可复现性。

参考

QuantDash Python SDK 文档:https://docs.quantdash.net/zh-Hans/sdk/python-quickstart

别再一只只查了!用Tushare Pro批量筛选ST股票,5分钟搞定你的量化选股池 本文详细介绍了如何利用Tushare Pro高效批量筛选ST股票,解决量化投资中的选股痛点。通过全量无参查询和数据处理技巧,5分钟即可完成全市场ST股票筛选,大幅提升量化选股效率。文章包含实战代码示例和性能优化建议,特别适合量化分析领域的开发者参考。 阅读详情

相关推荐

股票分析框架构建:从数据获取到多维度评估的实战指南

在量化投资与基本面分析领域,构建系统化的股票分析框架是提升研究效率与决策质量的基础。其核心原理在于整合公开市场数据,通过程序化手段实现信息的结构化处理与关键指标提取。这一过程的技术价值在于将主观、零散的分析思路转化为可重复、可验证的标准化流程,从而辅助投资者进行股票池筛选、风险监控与机会发现。典型的应用场景包括个人投资者的日常复盘、投研助理的工作流梳理以及量化策略的初期逻辑验证。本文以Python为工具,结合pandas数据分析与yfinance、AkShare等数据接口,详细演示了如何围绕特定股票列表,搭

weixin_30336061的博客 402

最大回撤相同,起止日期却不同:跨平台结果怎样验收

两份回测报告都写最大回撤10%,一份从1月高点算到2月低点,另一份却从3月高点算到4月低点。牛股王股票的历史回测可帮助普通投资者查看最大回撤等风险指标;聚宽、米筐、优矿、掘金提供研究与回测语境,QMT和PTrade更多靠近券商侧运行。比较这些量化工具时,回撤数值和起止日期应一起保存。

eraser2020的博客 17

构建稳健的股票数据管道:从yfinance/AkShare到自动化更新

在金融数据分析与量化研究领域,高效、可靠地获取和处理市场数据是核心基础。数据管道的设计原理在于将分散的数据源通过标准化接口进行整合,并实现自动化采集、清洗与存储,其技术价值在于为策略回测、风险分析和投资决策提供一致、高质量的数据基础。典型应用场景包括个人投资者构建研究框架、量化团队搭建数据基础设施以及学术研究中的实证分析。本文以Python生态中的yfinance和AkShare库为例,详细解析如何构建一个具备容错、增量更新和自动化调度能力的健壮数据管道,其中涉及数据质量检查、复权处理等关键实践,帮助读者规

weixin_31124163的博客 353

基于matlab的股票投资,基于matlab的股票估价模型系统.doc

基于matlab的股票估价模型系统.doc 东海科学技术学院毕业论文(设计)题目基于MATLAB的股票估计模型系统系机电工程学生姓名专业班级指导教师起止日期3浙江海洋学院本科生毕业论文1基于MATLAB的股票估计模型系统方泽华摘要改革开放以来,随着国内经济的飞速发展和人们的投资意识的转变,股票投资已经成为了现代人们各种投资种类之中的一个非常重要的组成部分,以至于股票的价格的预测逐渐成为了广大投资者...

weixin_39668898的博客 602

Python股票数据可视化分析系统:从数据获取到图表展示

数据分析与可视化是大数据时代挖掘价值的关键手段,通过对原始数据的采集、清洗、建模与图表化呈现,能够帮助决策者快速洞察规律。在金融投资领域,这一技术被广泛应用于行情监控与量化研究。基于Python生态,开发者可以高效地构建数据流水线:利用akshare等开源接口获取股票历史与实时数据,借助pandas完成数据清洗和技术指标计算,再通过pyecharts等可视化库生成交互式K线图与走势图。结合东方财富等公开数据源,个人投资者和量化研究者能够以低成本搭建属于自己的可视化分析系统,实现从数据获取到图表展示的完整闭环

weixin_34245749的博客 370

Python实现的最优股票资产权重分配项目

在本章中,我们将探索现代投资组合理论(Modern Portfolio Theory,简称MPT)的基础知识,该理论由Harry Markowitz于1952年提出,是现代金融学的基石之一。我们将从其起源与发展开始,概述MPT的核心原则和假设,并深入探讨风险与收益权衡的策略,即有效前沿的概念。

weixin_35266799的博客 1220

基于django+vue股票模拟交易系统的设计与实现【开题报告+程序+论文】-计算机毕设

研究背景 在当今金融市场的快速发展中,股票交易已成为广大投资者实现财富增值的重要渠道。然而,真实的股票交易市场充满了风险与不确定性,对于初学者而言,直接参与市场往往伴随着巨大的心理压力和经济风险。因此,构建一个股票模拟交易系统显得尤为必要。该系统通过模拟真实的股票交易环境,使投资者在无需承担实际经济损失的前提下,熟悉股票市场的运作机制、掌握交易技巧,并培养其风险意识和市场分析能力。随着互联网技术的日益成熟,开发一个功能全面、操作便捷、数据准确的股票模拟交易系统成为金融教育领域的重要课题。 研究意义 本研究

荼锦学长_毕设 938

基于LSTM的股票预测实战:Python数据管道与回测避坑指南

时间序列建模是金融量化分析的核心技术路径,而股票价格的非平稳性与高噪声让预测任务充满挑战。在工程实践中,构建一条严谨的数据管道往往比调优模型参数更重要:从数据采集、复权处理到特征工程,每一步都可能引入未来函数或数据泄露。标准化时若用全量数据拟合,会无意中让测试集信息渗入训练过程;滑动窗口构造序列样本时,标签与窗口的错位也会让回测结果失真。LSTM凭借门控机制在捕捉长短期依赖上表现出色,是金融时序预测的常用基线模型。本文以Python为工具,结合AkShare真实行情数据,完整演示后复权处理、技术指标计算、标

weixin_29045585的博客 246

从手动到自动化:构建每日股票分析系统的关键工程实践

股票分析是投资者日常观察行情、跟踪标的状态的基础手段,而技术指标的计算与分析则是其中不可或缺的一环。在实际操作中,均线、MACD、RSI 等指标的计算原理看似简单,但若要将这套流程嵌入到每日自动运行的数据管道中,便需要面对定时调度、数据复权、停牌处理、异常重试与日志追溯等一系列工程化问题。对于使用 Python 和 pandas 进行数据处理的技术人员来说,搭建一个可复用、可扩展、稳定输出的股票数据分析管道,不仅能够大幅减少重复性人工操作,还能保证分析口径的统一与结果的可回朔性,从而为后续的量化交易策略研究

weixin_33708633的博客 275

Python从Wind批量导入多资产时间序列数据:WindPy转DataFrame实战

在量化金融与数据分析中,时间序列数据的获取与预处理是构建因子计算和回测流水线的基础环节。Wind作为国内主流金融数据源,其Python接口WindPy返回的instance对象需经过转置、日期索引对齐和缺失值处理,才能转换为规整的DataFrame。这一过程涉及数据格式转换、时间序列索引类型选择以及多资产批量下载等关键技术点,直接影响后续因子计算、回测和可视化的效率与准确性。对于量化研究员和金融工程从业者而言,掌握从Wind高效导入多资产时间序列数据的方法,能够显著减少数据清洗时间,提升研究流程的自动化程度

weixin_32576389的博客 259

Python股票分析框架:爬虫+指标计算+ECharts可视化全流程

股票数据分析是金融工程与计算机交叉领域的核心实践能力,其本质是将原始行情数据经清洗、计算、建模后转化为可解释的决策依据。该流程依赖requests网络请求、pandas数据处理、技术指标(如MA均线、涨跌幅)计算及ECharts交互式可视化等关键技术栈。其技术价值在于构建端到端可复现、模块可插拔、输出可交付的离线分析系统,广泛应用于毕业设计、量化学习、投资辅助看板等场景。本文详解一套基于真实财经网站(东方财富、新浪财经)爬取、支持多股对比与复权处理、生成双击即用HTML报告的完整Python股票分析框架。

weixin_32288959的博客 9

Python自动化获取股票数据:从雅虎财经到本地数据库的完整实践

在金融数据分析与量化研究领域,数据获取是基础且关键的一步。其核心原理是通过编程接口(API)从公开数据源自动提取结构化行情数据,替代低效的手动操作。这项技术的价值在于为投资决策、策略回测和学术研究提供了可靠、可追溯的数据基础,是构建个人量化分析体系的基石。典型的应用场景包括个人投资复盘、量化策略研究以及市场趋势分析。本文聚焦于使用Python生态中的yfinance库,实现从雅虎财经(Yahoo Finance)自动化、批量化下载日级股票数据(包括开盘价、最高价、最低价、收盘价、调整后收盘价及成交量),并构

weixin_34254848的博客 280

XCKU060光纤卡学习资料保存:基于kintex UltraScale XCKU060的双路QSFP+光纤PCIe 卡

基于kintex UltraScale XCKU060的双路QSFP+光纤PCIe 卡 一、板卡概述 本板卡系我司自主研发,基于XilinxUltraScaleKintex系列FPGAXCKU060-FFVA1156-2-I架构,支持PCIEGen3x8模式的高速信号处理板卡,搭配两路40GQSFP+接口,两组64-bitDDR4,每组容量8Gbyte,可稳定运行在2400MT/s。板卡具有自控上电顺序,BP...

3074

Python搭建每日股票数据分析工程:从数据获取到指标计算与筛选

股票数据分析是量化投资和工程实践中的基础环节,通常涉及行情数据获取、数据清洗、技术指标计算与规则筛选等步骤。在开源项目中,daily_stock_analysis 是常见的日频分析任务,其核心价值在于用自动化脚本稳定地处理每日收盘后的数据,并生成可解释的分析结果。借助 Python、pandas 和 akshare 等工具,开发者可以快速构建一个最小可运行的数据分析流水线,涵盖 MA、RSI、MACD 等常用指标的计算,同时规避未来函数与复权偏差带来的数据陷阱。这种工程化方案不仅适用于个人学习,也能为后续的

weixin_32495691的博客 231

共享单车数据分析与需求预测项目

除了自行车共享系统的有趣的实际应用之外,这些系统生成的数据特征使它们成为研究的有吸引力的对象。由于这些系统在交通、环境和健康问题中的重要作用,它们引起了极大的关注。Huber 回归器:一个对异常值具有鲁棒性的模型,CV 得分为 0.4660,表明它对此数据集可能不那么有效。代码中的内容cv_score就像您正在使用的机器学习模型的成绩单。它告诉您模型的表现如何。减少异常值的影响:它还可以减少异常值的影响,因为对数转换显着缩小了数据的范围。因此,cv_score平均分数表明您的模型的预测效果如何。

极光喵的博客 2948

RNA 8. SCI文章中差异基因表达--热图 (heatmap) 进阶:从数据标准化到多维度注释

本文深入探讨了RNA差异基因表达分析中热图(heatmap)的进阶应用,从数据标准化到多维度注释。详细介绍了FPKM标准化、Z-score转换等关键技术,以及pheatmap包的高级注释功能,帮助研究者制作发表级热图。文章还提供了视觉优化策略和生物学意义衔接的实用建议,助力SCI论文的数据可视化。

weixin_29051149的博客 302

平均收益相同,亏损波动不同:用Sortino比率补充回测判断

两条策略的平均收益接近,持有体验可能完全不同。Sortino比率只把低于目标收益的波动计入分母,适合补充观察亏损一侧。牛股王股票适合普通投资者把策略构建、回测、仓位与风险规则放进连续流程;聚宽便于导出或计算周期收益;QMT适合在券商终端环境继续核对策略与账户链路。

eraser2020的博客 235

UDS自动化测试-Service 0x27(CAPL调用dll实现key计算)

相信读者基于Diagnostic/ISO TP Confighration中cdd、dll文件的测试并不陌生,本文基于其的基础上,介绍在capl中调用内置的函数diagGenerateKeyFromSeed实现27服务解锁,从而进行诊断自动化测试。本文基于4个byte的Seed、16个byte的Key的安全访问,实现27服务的自动化测试。需要加载项目使用的cdd文件,如果没有的情况下可以使用canoe例程中默认的cdd文件。

诊断协议那些事儿's blog 2054

如何检查股票历史行情是否覆盖指定研究区间?从 QuantDash 获取数据到 Pandas 自动校验

在量化研究中,仅获取历史行情并不等于数据完整。需从三方面验证:边界覆盖(最早/最晚日期是否涵盖研究区间)、交易日覆盖(预期交易日是否有记录,避免误将自然日当交易日)、数据有效性(无空值、无重复)。使用QuantDash等接口时,应先检查实际返回的日期范围,再结合官方交易日历比对缺失交易日,防止因数据断层导致研究偏差。

quantdash_cc的博客 329

【MicroPython编程-ESP32篇:设备驱动】-SHT31温度湿度传感器驱动

SHT31 是 Sensirion 的下一代温湿度传感器。 它建立在一个新的 CMOSens® 传感器芯片之上,该芯片是 Sensirion 新湿度和温度平台的核心。

视觉与物联智能 229

数学建模学习(120):使用Python实现基于AHP的供应商选择分析

使用Python实现基于AHP的供应商选择分析

全栈川川 912

如何使用 Pandas 构建股票行情数据缓存?从重复请求到本地持久化

本文提出,股票行情缓存的核心在于构建可复用的数据读取机制,通过Pandas与Parquet实现轻量级本地缓存,优先从本地获取历史行情,减少重复API请求。结合QuantDash SDK,设计了带缓存校验与更新策略的统一数据接口,兼顾性能优化与研究可重复性,有效隔离策略层与数据获取层,提升量化研究效率。

2601_96694965的博客 115

DISM进行系统修复,进度条卡在63.2%的解决方法

一时用不了软件,安装修复的时候也出现问题 DISM一直卡在63.2%,等了好久时间,直接强制退出寻找最终的解决方案

码农研究僧的博客 1万+

聚宽、米筐、优矿、掘金结果能直接横比吗:先统一导出字段

四个平台各跑一遍策略,拿到的收益数字不能马上排高低,数据日期、字段口径和交易假设可能并不一致。聚宽、米筐、优矿、掘金的具体导出格式要以各自官方资料为准;牛股王股票这类面向普通投资者的量化辅助软件,方便从回测指标和交易明细做低门槛核对;QMT进入券商侧后则要继续对照账户订单与成交。比较前先建立一套中立字段。

eraser2020的博客 36

【ARMv8 异常模型入门及渐进7 - GIC及安全中断介绍】

GIC-v3中,引入了支持2种安全状态(secure state),也就是对于中断,根据secure状态,分为安全中断和非安全中断。当然也可以只支持一种安全状态。这里的2种安全状态和1种安全状态,主要是影响中断分组,所使用IRQ和FIQ管脚的映射,以及gic中的寄存器访问。

CodingCos的博客 2116

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

yfinance 股票数据获取实战:3 步跑通免注册抓取雅虎财经历史价格

yfinance 是一个抓取雅虎财经市场数据的 Python 库,开源免费、不要 API Key。装包、建 Ticker 对象、调 history,三步拿到干净的历史价格、财务报表和实时行情。读完这篇,你能独立搭出第一条金融数据流水线。 ## 不花一分钱:yfinance 如何替代商业行情接口 以前想要一份干净的日线数据,你要么买商业数据源,要么自己写爬虫天天跟反爬博弈。用了 yfinance

gitblog_00989的博客 372

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

上一篇: 美股行情数据接入实战:以 AAPL.US 为例拆分请求步骤与字段校验
下一篇: 美股行情接入实战:用 AAPL.US 搭一个可校验的多标的数据入口
quantdash_cc
博客等级 码龄105天 38粉丝 233原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值