返回列表 发布新帖

原生python实现全推最后60秒/300秒的涨速计算方法

2914 5
发表于 2023-12-25 20:35:02 | 显示全部楼层 阅读模式
本帖最后由 *******9406 于 2023-12-28 10:25 编辑

如何实现5分钟最新涨速榜,求高人指点?
获取历史1m/5m是按照自然时钟划断切片数据,需求是全推最后60秒/300秒的涨速计算,没有时段概念,有点像通达信5分钟涨速排行计算,如何批量获取处理60/300秒内的最低价?是自己记录保存还是有其它快速读取方式,有点不明白?
  1. import time, datetime, traceback, sys
  2. from xtquant import xtdata
  3. from xtquant.xttrader import XtQuantTrader, XtQuantTraderCallback
  4. from xtquant.xttype import StockAccount
  5. from xtquant import xtconstant

  6. #定义一个类 创建类的实例 作为状态的容器
  7. class _a():
  8.     pass
  9. A = _a()
  10. A.bought_list = []
  11. A.hsa = xtdata.get_stock_list_in_sector('沪深A股')

  12. def interact():
  13.     """执行后进入repl模式"""
  14.     import code
  15.     code.InteractiveConsole(locals=globals()).interact()
  16. xtdata.download_sector_data()

  17. def f(data):
  18.     now = datetime.datetime.now()
  19.     for stock in data:
  20.         if stock not in A.hsa:
  21.             continue
  22.         cuurent_price = data[stock]['lastPrice']
  23.         pre_price = data[stock]['lastClose']
  24.         ratio = cuurent_price / pre_price - 1 if pre_price > 0 else 0
  25.         if ratio > 0.09 and stock not in A.bought_list:
  26.             print(f"{now} 最新价 买入 {stock} 200股")
  27.             async_seq = xt_trader.order_stock_async(acc, stock, xtconstant.STOCK_BUY, 200, xtconstant.LATEST_PRICE, -1, 'strategy_name', stock)
  28.             A.bought_list.append(stock)
复制代码



评论5

rzp
发表于 2023-12-26 09:22:28 | 显示全部楼层
用get_market_data获取1m或5m计算,不过获取实时k线有订阅限制,所以没法计算所有股票,建议考虑下不限制订阅的方式:
http://dict.thinktrader.net/dict ... F%E5%AF%B9%E6%AF%94
*******9406楼主
发表于 2023-12-28 10:09:52 | 显示全部楼层
rzp 发表于 2023-12-26 09:22
用get_market_data获取1m或5m计算,不过获取实时k线有订阅限制,所以没法计算所有股票,建议考虑下不限制订 ...

获取历史1m/5m是按照自然时钟划断切片数据,需求是最后60秒/300秒的涨速计算,没有时段概念,有点像通达信5分钟涨速排行计算,如何批量获取处理60/300秒内的最低价?是自己记录保存还是有其它快速读取方式,有点不明白?
*******7370
发表于 2023-12-28 10:16:30 | 显示全部楼层
可以用get_market_data取对应数量的tick数据,再做处理计算
*******9406楼主
发表于 2023-12-28 10:42:09 | 显示全部楼层
*******7370 发表于 2023-12-28 10:16
可以用get_market_data取对应数量的tick数据,再做处理计算

get_market_data读取tick历史数据是不是要提前自己保存tick记录?还是不用保存,软件自己会缓存全推tick数据?
*******7370
发表于 2023-12-28 17:36:06 | 显示全部楼层
*******9406 发表于 2023-12-28 10:42
get_market_data读取tick历史数据是不是要提前自己保存tick记录?还是不用保存,软件自己会缓存全推tick ...

当前交易日的不需要,其他的需要

回复

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

客服专线

400-080-8112

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