返回列表 发布新帖

 有办法获取当天沪深两市所有可以交易的权证合约标的吗?

1374 1
发表于 2023-12-22 15:20:05 | 显示全部楼层 阅读模式
可以的. 参考示例第九行

http://dict.thinktrader.net/inne ... A%E6%B6%A8%E5%B9%85


#coding:gbk
import time

class a():
        pass
A = a()

def init(C):
        A.hsa = C.get_stock_list_in_sector('沪深A股')
        A.vol_dict = {}
        for stock in A.hsa:
                A.vol_dict[stock] = C.get_last_volume(stock)
        C.run_time("f","1nSecond","2019-10-14 13:20:00")

def f(C):
        t0 = time.time()
        full_tick = C.get_full_tick(A.hsa)
        total_market_value = 0
        total_ratio = 0
        count = 0
        for stock in A.hsa:
                ratio = full_tick[stock]['lastPrice'] / full_tick[stock]['lastClose'] - 1
                rise_price = round(full_tick[stock]['lastClose'] *1.2,2) if stock[0] == '3' or stock[:3] == '688' else round(full_tick[stock]['lastClose'] *1.1,2)
                #如果要打印涨停品种
                #if abs(full_tick[stock]['lastPrice'] - rise_price) <0.01:
                #        print(f"涨停品种 {stock} {C.get_stock_name(stock)}")
                market_value = full_tick[stock]['lastPrice'] * A.vol_dict[stock]
                total_ratio += ratio * market_value
                total_market_value += market_value
                count += 1
        #print(count)
        total_ratio /= total_market_value
        total_ratio *= 100
        print(f'A股加权涨幅 {round(total_ratio,2)}% 函数运行耗时{round(time.time()- t0,5)}秒')


不清楚的内容可添加下方助理微信咨询,有其他 QMT 小技巧想学习的吗?欢迎在下方留言,笔者将根据大家的留言持续更新哦!
欢迎和我一起加入迅投组建的 QMT 实战交流社群,交流群内有许多做量化交易的高手和大佬,具有良好的分享和互助氛围。且迅投官方会不定期为多次分享、乐于助人的群友申请送投研专业版的机会。
只需扫描下方的二维码,名额有限,限时加入。一起分享见解、交换信息、并共同进步,就像群友说的:“就算周末,晚上也有地方沟通交流!”
企业微信截图_17235220909173.png

评论1

Liwu楼主
发表于 2023-12-22 15:26:25 | 显示全部楼层
#coding:gbk
import time

class a():
        pass
A = a()

def init(C):
        A.hsa = C.get_stock_list_in_sector('沪深A股')
        A.vol_dict = {}
        for stock in A.hsa:
                A.vol_dict[stock] = C.get_last_volume(stock)
        C.run_time("f","1nSecond","2019-10-14 13:20:00")

def f(C):
        t0 = time.time()
        full_tick = C.get_full_tick(A.hsa)
        total_market_value = 0
        total_ratio = 0
        count = 0
        for stock in A.hsa:
                ratio = full_tick[stock]['lastPrice'] / full_tick[stock]['lastClose'] - 1
                rise_price = round(full_tick[stock]['lastClose'] *1.2,2) if stock[0] == '3' or stock[:3] == '688' else round(full_tick[stock]['lastClose'] *1.1,2)
                #如果要打印涨停品种
                #if abs(full_tick[stock]['lastPrice'] - rise_price) <0.01:
                #        print(f"涨停品种 {stock} {C.get_stock_name(stock)}")
                market_value = full_tick[stock]['lastPrice'] * A.vol_dict[stock]
                total_ratio += ratio * market_value
                total_market_value += market_value
                count += 1
        #print(count)
        total_ratio /= total_market_value
        total_ratio *= 100
        print(f'A股加权涨幅 {round(total_ratio,2)}% 函数运行耗时{round(time.time()- t0,5)}秒')

image.png

回复

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

客服专线

400-080-8112

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