返回列表 发布新帖

python调vba函数 并 获取gmd_ex格式的数据 (更快,更直接)

3660 3
发表于 2025-2-5 16:24:15 | 显示全部楼层 阅读模式

1.环境准备:目前该模式需要通过投研专业版进行调用,并且必须用投研先锋版本的安装包,非先锋版不支持。 另外需要本地有xtquant,官网下载xtquant包即可:https://dict.thinktrader.net/nativeApi/download_xtquant.html?id=TB5IbM 2.可使用 python 函数 便捷获取vba公式的输出

data = xtdata.get_vba_func_result(
        "dynainfo(7, '000001.SZ')",
        stock_code,
        period,
        start_time, end_time, count,
        dividend_type
    )
print(data)

3.填写vba公式内容即可获取gmd_ex格式的数据:

image.png

data = xtdata.get_vba_func_result(
        [
            '收盘价:c',
            "均价:dynainfo(11, '000001.SZ')",
            "涨幅:dynainfo(14, '000001.SZ')",
            '交易日:tdate()',
        ],
        stock_code,
        period,
        start_time, end_time, count,
        dividend_type
    )
print(data)

同时支持多输出:

image.png

4.获取数据量较大时,获取速度较gmd_ex会有所降低,但更加灵活,可快速创建新字段:

image.png

image.png

原生内置调用方式相同

原生

from xtquant import xtdata
## 把要取的VBA代码写到这
vb_code = """
variable:trend=0;

INPUT:P(10,1,100,10);
INPUT:STEP(2,1,100,10);
INPUT:MAXP(20,5,100,10);

t:=SARTURN(P,STEP,MAXP);
trend := iff(t <> 0, t, trend);

RES:SAR(P,STEP,MAXP),NODRAW,NOAXIS,COLORWHITE;

"""


if __name__ == "__main__":
    stock_code = "000001.SZ"
    period = "1d"
    start_time = "20230101"
    end_time = ""
    count = -1
    dividend_type = "front_ratio"

    data = xtdata.get_vba_func_result(
        vb_code,
        stock_code,
        period,
        start_time, end_time, count,
        dividend_type
    )
    print(data)

内置

# coding:gbk

## 把要取的VBA代码写到这
vb_code = """
variable:trend=0;

INPUT:P(10,1,100,10);
INPUT:STEP(2,1,100,10);
INPUT:MAXP(20,5,100,10);

t:=SARTURN(P,STEP,MAXP);
trend := iff(t <> 0, t, trend);

RES:SAR(P,STEP,MAXP),NODRAW,NOAXIS,COLORWHITE;

"""


def after_init(C):
    stock_code = "000001.SZ"
    period = "1d"
    start_time = "20230101"
    end_time = ""
    count = -1
    dividend_type = "front_ratio"

    data = get_vba_func_result(
        vb_code,
        stock_code,
        period,
        start_time, end_time, count,
        dividend_type
    )
    print(data)

评论3

2079229656调佣客服
发表于 2025-4-18 21:14:38 | 显示全部楼层
66666666666
*******6655_mTWf3
发表于 2025-4-19 21:41:46 | 显示全部楼层
建议这些基本的功能还是应该开放给券商版,如果券商版如果太鸡肋,市场竞争大,慢慢的大家都舍弃QMT用别的平台了。
*******2688_vkFLn
发表于 前天 10:33 | 显示全部楼层
金字塔有同样的功能,并且免费!迅投这样想钱想疯了!!!

回复

您需要登录后才可以回帖 登录 | 立即注册

客服专线

400-080-8112

用思考的速度交易,用真诚的态度合作,我们是认真的!
  • 关注公众号
  • 添加微信客服
Copyright © 2001-2025 迅投QMT社区 版权所有 All Rights Reserved. 蜀ICP备19002686号-2
关灯 快速发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表