api.list_positions,用来查看即时库存,参数说明如下:
api.list_positions(
account: shioaji.account.Account = None, #交易帐户,预设为None
unit: shioaji.constant.Unit = <Unit.Common: 'Common'>, #单位,预设为整股
timeout: int = 5000 #timeout预设为5000ms,即延迟时间?
)
虽然account参数没有预设值,但其实在程序中有做判断,若没有传入account参数,则预设是带入api.stock_account。
回传的资料,会是shioaji.position.Position的list,资料内容说明如下
[Position(
code='2890', #金融商品代码
direction=<Action.Buy: 'Buy'>, #持有部位的方式
quantity=10, #即时库存
price=10.1, #成本均价
pnl=1234.0, #损益试贞
yd_quantity=10, #昨日余额
cond=<StockOrderCond.Cash: 'Cash'> #交易别StockOrderCond)]
api.list_profit_loss查询已实现损益,参数说明如下:
api.list_profit_loss(
account: shioaji.account.Account = None, #交易帐户
begin_date: str = '', #开始日期
end_date: str = '', #结束日期
timeout: int = 5000 #timeout预设为5000ms,即延迟时间?
)
跟api.list_positions一样,如果没有指定所要查询的account,预设会回传stock_account的资料。而回传的资料是shioaji.position.ProfitLoss的List,说明如下:
[ProfitLoss(id=0, #序号
code='2890', #金融商品代码
seqno='14816', #序号
dseq='ID111', #委托单号
quantity=1, #数量
price=10.1, #成交价格
pnl=1234.0, #损益
pr_ratio=0.1237, #报酬率
cond='Cash', #交易别
date='2020-05-22' #成交日期
)]
api.list_profit_loss_detail,查询已实现损益的详细内容。在执行前,要先执行list_profit_loss取得已实现损并资料,再执行list_profit_loss_detail并传入刚才回传资料中的id,才可取得详细内容
参数说明如下:
api.list_profit_loss_detail(
account: shioaji.account.Account = None,
detail_id: int = 0, #即api.list_profit_loss,回传资料中的id序号
timeout: int = 5000
)
请注意,在执行list_profit_loss_detail前,要先执行api.list_profit_loss?
[ProfitLossDetail(date='2020-05-22', #成交日
cond='Cash', #交易别
code='2890', #股票代号
quantity=1, #数量(张)
price=10.1, #单价
cost=9100, #价金(持有成本)
dseq='ID111', #委托单号
rep_margintrading_amt=0, #融资金额
rep_collateral=0, #担保品
rep_margin=0, #保证金
fee=20, #手续费
interest=0, #利息
tax=0, #交易税
shortselling_fee=0, #借券费
currency='NTD' #币别
)]
api.list_settlements交割款项。因为只有股票交易才会有交割,因此account只能是stock_account,当然,也可以不给account参数,会自动带stock_account。
参数说明如下:
api.list_settlements(
account: shioaji.account.Account = None, #交易帐户,可不必传入
timeout: int = 5000
)
回传资料为shioaji.position.Settlement的List
[Settlement(
t_money=0.0, #T+0 交割金额
t1_money=0.0, #T+1 交割金额
t2_money=0.0, #T+2 交割金额
t_day='2021-10-01', #T+0 交割日期
t1_day='2021-10-04', #T+1 交割日期
t2_day='2021-10-05' #T+2 交割日期
)]
api.account_balance,用来取得银行帐户(交割户)余额,这个function可以直接呼叫,不用给任何参数,而回传的资料如下:
[AccountBalance(acc_balance=123456.0, #帐户余额
date='2020-07-16 09:29:13', #查询时间
errmsg='' #错误讯息
)]
<<: day31 虽然没有写完,但是还是要有summary
看完这篇文章你会得到的成果图 前言 我们接下来的讨论,会基於读者已经先读过我 day5 文章 的架构...
今天要来练习第一道题目及一些基本的操作。 先点CPE历届考古题2013/12/17 的第一题Hell...
人的科技文明发展始终来自於人性 在未来的社会,当科技与资讯更加的发达时,人与智慧型相关产品之使用已不...
因为某种天外飞仙,天上掉下来的炸弹等的理由,所以这个项目就会终止,在报 名截止前让我想想要参加甚麽项...
使用终端机搜寻特定字串时,大家一定用过 grep 这个指令吧~ 但你有想过 grep 为什麽叫 gr...