返回列表 发布新帖

【教程】通过 Python 获取美股行情数据

3208 2
发表于 2024-3-26 18:09:10 | 显示全部楼层 阅读模式

通过内置python获取

1.代码示例

# coding:gbk

"""
本案例采用三个函数:

ContextInfo.get_stock_list_in_sector     内含成份股代码, 用来获取美股合约
download_history_data                    下载指定合约代码
ContextInfo.get_market_data_ex           获取美股行情数据函数

本示例采用微软(MSFT.NASDAQ)进行演示

"""


def init(ContextInfo):
    pass

def after_init(ContextInfo):

    # 获取纳斯达克板块成份股
    #ContextInfo.get_stock_list_in_sector('纳斯达克NASDAQ')
    s = 'MSFT.NASDAQ'
    # 下载合约数据, 本实例下载全部行情,如需区间下载, 请参考文档
    download_history_data(s, '1d', '', '')
    # 获取合约数据 获取采用 高, 开, 低, 收, 前收, 成交量为案例
    data = ContextInfo.get_market_data_ex(
    fields = ['open', 'high', 'low', 'close', 'preClose', 'volume'],
    stock_code = [s],
    period='1d',
    start_time='',
    end_time='',
    count=-1,
    dividend_type='none',
    fill_data=False,
    subscribe = False)
    # 打印内容
    print(data[s])


def handlebar(C):
    return

2.结果展示

"""
返回的格式为 data:pd.DataFrame,数据集,index为字符串格式的时间序列,columns为数据字段
"""
            open      high     low   close  preClose    volume
stime                                                       
19860313   28.00   29.2500   25.50   28.00      0.00   3582600
19860314   29.00   29.5000   28.00   29.00     28.00   1070000
19860317   29.50   29.7500   29.00   29.50     29.00    462400
19860318   28.75   29.7500   28.50   28.75     29.50    230800
19860319   28.25   29.0000   28.00   28.25     28.75    166300
...          ...       ...     ...     ...       ...       ...
20240319  417.83  421.6656  415.55  421.41    417.32  19837915
20240320  422.00  425.9600  420.66  425.23    421.41  17860085
20240321  429.83  430.8200  427.16  429.37    425.23  21296222
20240322  429.70  429.8600  426.07  428.74    429.37  17648473
20240325  425.24  427.4100  421.61  422.86    428.74  18060450

[9585 rows x 6 columns]

(连接投研端的方式)通过原生python获取

在 Pycharm 或者 Vscode 里面,也可以直接获取美股数据。

1.查看自己的端口号

image.png

2. 代码示例

# ecoding: utf-8

"""
本案例采用三个函数:
    xtdata.get_stock_list_in_sector     内含成份股代码, 用来获取美股合约
    xtdata.download_history_data                    下载指定合约代码
    xtdata.get_market_data_ex           获取美股行情数据函数

注意:
    本案例采用端口监听,请检查自己的端口
    位置: 系统设置 --> 模型设置


本示例采用微软(MSFT.NASDAQ)进行演示

"""

from xtquant import xtdata

# 监听自己的端口号
xtdata.connect(port=58613)

# 输出xtdata路径, 用于检查连接地址是否一致
print(xtdata.data_dir)

# 获取纳斯达克板块成份股
# NASDAQ_list = xtdata.get_stock_list_in_sector('纳斯达克NASDAQ')
# print(NASDAQ_list)

s = 'MSFT.NASDAQ'

# 下载合约数据, 本实例下载全部行情,如需区间下载, 请参考文档
xtdata.download_history_data(s, '1d', '', '')

# 获取合约数据, 获取采用 高, 开, 低, 收, 前收, 成交量为案例
xtquant_data = xtdata.get_market_data_ex(field_list=['high', 'open', 'low', 'close', 'preClose', 'volume'],
                                         stock_list=[s],
                                         period='1d',
                                         start_time='',
                                         end_time='',
                                         count=-1,
                                         dividend_type='none',
                                         fill_data=False)
print(xtquant_data[s])

3.结果展示

"""
返回的格式为 data:pd.DataFrame,数据集,index为字符串格式的时间序列,columns为数据字段
"""
            open    high     low   close    volume  preClose
19860313   28.00   29.25   25.50   28.00   3582600      0.00
19860314   29.00   29.50   28.00   29.00   1070000     28.00
19860317   29.50   29.75   29.00   29.50    462400     29.00
19860318   28.75   29.75   28.50   28.75    230800     29.50
19860319   28.25   29.00   28.00   28.25    166300     28.75
...          ...     ...     ...     ...       ...       ...
20240319  417.83  421.67  415.55  421.41  19837915    417.32
20240320  422.00  425.96  420.66  425.23  17860085    421.41
20240321  429.83  430.82  427.16  429.37  21296222    425.23
20240322  429.70  429.86  426.07  428.74  17648473    429.37
20240325  425.24  427.41  421.61  422.86  18060450    428.74

[9585 rows x 6 columns]

评论2

心如止水
发表于 2024-3-27 11:35:53 | 显示全部楼层
交易美股的朋友们,都用上美股数据了嘛?:P
*******3561
发表于 2024-10-31 18:17:52 | 显示全部楼层
美股有实时行情吗?最大订阅限制是多少?请求限制是多少?还有投研版是怎么收费的

回复

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

客服专线

400-080-8112

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