以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  高级功能研发区  (http://222.73.7.161/bbs/list.asp?boardid=5)
----  某合约10日内最低价所在K线日期(精确到小时:XX日XX时)  (http://222.73.7.161/bbs/dispbbs.asp?boardid=5&id=173776)

--  作者:qq代人发帖
--  发布时间:2019/12/30 15:04:36
--  某合约10日内最低价所在K线日期(精确到小时:XX日XX时)
请教:请帮忙Python语句实现:某合约10日内最低价所在K线日期(精确到小时:XX日XX时)
--  作者:yukizzc
--  发布时间:2019/12/30 15:27:00
--  

numpy最大值和最大值索引

a= np.array([9, 12, 88, 14, 25])
list_a = a.tolist()

list_a_max_list = max(list_a) #返回最大值
max_index = list_a.index(max(list_a)) # 返回最大值的索引
print(list_a_max_list)
print(max_index)


--  作者:yukizzc
--  发布时间:2019/12/30 15:27:27
--  
有了这个索引,自然就能得到对应的日期了
--  作者:delicate
--  发布时间:2019/12/31 16:44:03
--  
请用bars_history函数获取一下,我回测时间与价格怎么都不正确呢
--  作者:yukizzc
--  发布时间:2019/12/31 17:29:21
--  
你回测怎么不对,具体代码贴下
--  作者:delicate
--  发布时间:2020/1/6 13:43:25
--  
# 本Python代码主要用于策略交易
# 可以自己import我们平台支持的第三方python模块,比如pandas、numpy等。
from PythonApi import *
import numpy as np
#  参数定义区,这里定义的参数可以直接在context对象中获取。--(选择实现)
#def parameter():
#    input_par("myvalues1",5,1,20,1)
#    input_par("myvalues2",10,1,20,1)

#  在这个方法中编写任何的初始化逻辑。context对象将会在你的算法策略的任何方法之间做传递。--(必须实现)
def init(context):
    # 在context中保存全局变量
    context.s1 = "SZ000001"   #平安银行股票
    context.s2="SQRB00"       #螺纹钢连续
    context.s3="SQNI00"       #沪镍连续
    context.r_d10=10            #取数据10天的值
   

#取10天内最高价的日期及价格   
def test(context):
    bars10=history_bars(context.s2,context.r_d10,"1d",["datetime","high"],include_now=True)
    print(bars10)

# before_trading此函数会在每天基准合约的策略交易开始前被调用,当天只会被调用一次。--(选择实现)
def before_trading(context):
    pass


# 你选择的品种的数据更新将会触发此段逻辑,例如日或分钟历史数据切片或者是实时数据切片更新。--(必须实现)
def handle_bar(context):
    test(context)
   
   
    # 开始编写你的主要的算法逻辑。
   
    #使用buy_open、sell_close等方法下单
    #下单示例:
    #buy_open(context.s1, "Market", volume = 100)    #  市价开多
    #buy_open(context.s1, "Limit", 25.45, 100)       #  限价开多
    pass
#    a= np.array([9, 12, 88, 14, 25])
#    list_a = a.tolist()
#
#    list_a_max_list = max(list_a) #返回最大值
#    max_index = list_a.index(max(list_a)) # 返回最大值的索引
#    print(list_a_max_list)
#    print(max_index)

--  作者:delicate
--  发布时间:2020/1/6 13:47:04
--  
> 开始编译 <MyPython3> ......
>

> 编译成功!


13:44:39 > [[2.0191218e+13 3.5030000e+03]
            [2.0191219e+13 3.5290000e+03]
            [2.0191220e+13 3.5370000e+03]
            [2.0191223e+13 3.5490000e+03]
            [2.0191224e+13 3.5550000e+03]
            [2.0191225e+13 3.5220000e+03]
            [2.0191226e+13 3.5340000e+03]
            [2.0191227e+13 3.5540000e+03]
            [2.0191230e+13 3.5630000e+03]
            [2.0191231e+13 3.5770000e+03]]最后的十组数据。日期与价格不对应呢。

--  作者:yukizzc
--  发布时间:2020/1/6 13:59:38
--  
哪一个和图上对不上呢,我看了螺纹连续的日线最高价,都对的上的


--  作者:delicate
--  发布时间:2020/1/6 14:07:06
--  
14:02:16 > [[2.01912180e+13 1.11320102e+05]
            [2.01912190e+13 1.10980195e+05]
            [2.01912200e+13 1.12529781e+05]
            [2.01912230e+13 1.14030000e+05]
            [2.01912240e+13 1.14200000e+05]
            [2.01912250e+13 1.13200000e+05]
            [2.01912260e+13 1.12980000e+05]
            [2.01912270e+13 1.12670000e+05]
            [2.01912300e+13 1.12230000e+05]
            [2.01912310e+13 1.12980000e+05]]

--  作者:delicate
--  发布时间:2020/1/6 14:10:39
--  
今天计算机重新启动过了。刚回测的这个数据我没有细看,上周覆盖安装没有重新启动电脑,对应不上数据那是。