欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 怎样可以显示出多空仓的持仓呢?

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2340人关注过本帖树形打印复制链接

主题:怎样可以显示出多空仓的持仓呢?

帅哥哟,离线,有人找我吗?
rockyan
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:611 积分:0 威望:0 精华:0 注册:2015/9/11 9:51:55
怎样可以显示出多空仓的持仓呢?  发帖心情 Post By:2021/3/25 12:34:13 [只看该作者]

    print(context.now)
    sell_open('ZJIF00','Market', 0, 1, 0,serial_id = 1)
    buy_open('ZJIC00','Market', 0, 1, 0,serial_id = 2)
    ho =get_portfolio_book(2)
    print(ho)
    print(len(ho))

 

12:28:51 > 2021-03-24 00:00:00
12:28:51 > []
12:28:51 > 0

 

是什么原因呢?get_portfolio_book(0)结果也是一样的

怎样可以显示出多空仓的持仓呢?


 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2021/3/25 15:41:16 [只看该作者]

你没登录交易账号吧。

 

    holdname =get_portfolio_book(2)
    if len(holdname)>0:
        for x in holdname:
 
            portfolio=get_portfolio(x,123456)#指定账号,循环获取持仓品种
            print(portfolio.buy_quantity)  #区分多空根据对象处理。

 



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
rockyan
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:611 积分:0 威望:0 精华:0 注册:2015/9/11 9:51:55
  发帖心情 Post By:2021/3/25 18:14:54 [只看该作者]

回测时发生的状况,如果是股票的话,可以清楚的得到持仓品种的list

但是试期指,就是上面的情况


 回到顶部
帅哥哟,离线,有人找我吗?
rockyan
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:611 积分:0 威望:0 精华:0 注册:2015/9/11 9:51:55
  发帖心情 Post By:2021/3/25 18:21:22 [只看该作者]

完整代码,回测结果如问题

 

# 本Python代码主要用于策略交易
# 可以自己import我们平台支持的第三方python模块,比如pandas、numpy等。
from PythonApi import *
import time
import os
import csv
import numpy as np
import talib as ta
import math

#  在这个方法中编写任何的初始化逻辑。context对象将会在你的算法策略的任何方法之间做传递。--(必须实现)
def init(context):
    # 在context中保存全局变量
    context.s1 = "SZ000001"   #平安银行股票
   
    # print("策略启动") #调试打印输出
   

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


# 你选择的品种的数据更新将会触发此段逻辑,例如日或分钟历史数据切片或者是实时数据切片更新。--(必须实现)
def handle_bar(context):

    print(context.now)
    sell_open('ZJIF00','Market', 0, 1, 0,serial_id = 1)
    buy_open('ZJIC00','Market', 0, 1, 0,serial_id = 2)
    ho =get_portfolio_book(2)
    print(ho)
    print(len(ho))


    

    pass
   
   
# after_trading函数会在每天交易结束后被调用,当天只会被调用一次。 --(选择实现)
def after_trading(context):
    pass


 回到顶部
帅哥哟,离线,有人找我吗?
yukizzc
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:21598 积分:0 威望:0 精华:1 注册:2010/7/31 16:35:30
  发帖心情 Post By:2021/3/25 19:13:43 [只看该作者]

本地的结果
图片点击可在新窗口打开查看此主题相关图片如下:6a94764da3865d3b455df8b229d1a0d.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
rockyan
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:611 积分:0 威望:0 精华:0 注册:2015/9/11 9:51:55
  发帖心情 Post By:2021/3/26 10:20:34 [只看该作者]

为什么我的不行呢 


图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
rockyan
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:611 积分:0 威望:0 精华:0 注册:2015/9/11 9:51:55
  发帖心情 Post By:2021/3/26 10:24:12 [只看该作者]

回测,运行,都是这样

 回到顶部
帅哥哟,离线,有人找我吗?
rockyan
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:611 积分:0 威望:0 精华:0 注册:2015/9/11 9:51:55
  发帖心情 Post By:2021/3/26 10:30:34 [只看该作者]

这个问题的原因找到了

 回到顶部