用聚宽量化炒股-3常用对象
1.訂單對象Order
amount:下單數量,無論買賣,都是正數。
filled:已成交的股票數量,正數。
security:股票代碼
order_id:訂單ID
price:平均成交價格,已成交股票的平均價格,一個訂單可能分多次成交。
avg_cost:賣出時表示下賣單時此股票的持倉成本,用來計算賣出股票后的收益;買入時表示此次買入的均價(相當于price)。
side:用來指定開多單還是空單。
action:用來指定開倉還是平倉。open為開倉,close為平倉。
add_time:添加訂單時間。
commision:交易費用(傭金,稅費等)。
2.全局對象g
用來存儲用戶的各類可被pickle.dumps函數序列化的全局數據。
在模擬盤中,如果中途進程中斷,會使用pickle.dumps序列化所有的g下面的變量內容,保存到磁盤中,再啟動時模擬盤就不會有任何數據影響。否則會出現變量數據丟失的問題。
如果不想讓g的某個變量被序列化,那么可以讓變量以“_”開頭,這樣這個變量在序列化時就會被忽略。
3.一次交易對象Trade
用于記錄訂單的一次交易。但是,一個訂單可以分多次交易。
time:交易時間
amount:交易數量
price:交易價格
trade_id:交易記錄id
order_id:對應的訂單id
4.分時圖盤面對象tick
tick中的信息是在tick事件發生時,盤面的一個快照。
code:標的的代碼
datetime:tick發生的時間。
current:最新價
high:最高價
low:最低價
volume:截至當前時刻交易量
amount:截至當前時刻成交額
position:截至當前時刻持倉量,只適用于期貨tick對象。
a1_v~a5_v:賣一量到賣五量,對于期貨,只有賣一量。
a1_p~a5_p:賣一價到賣五價,對于期貨,只有賣一價。
b1_v~b5_v:買一量到買五量,對于期貨,只有買一量。
b1_p~b5_p:買一價到買五價,對于期貨,只有買一價。
(在股票交易中買一價是指當前掛在最高的買入該股票的價位,買二價是指僅次于買一價的買入價位,如此類推...)
5.回測對象Context
subportfolios:當前單個倉位的資金和標的信息。
portfolio:賬戶信息,即subportfolios的匯總信息。
current_dt:當前單位時間的開始時間。如果是按天回測,那么開始的時間是hour=9,minute=30,second=microsecond=0;如果是按照分鐘回測,那么開始時間是second=microsecond=0。
previous_date:前一個交易日。
universe:查詢在初始化函數中set_universe設定的股票池。
run_params:表示此次運行的參數,有如下屬性
? ? start_date:回測/模擬開始日期。
? ? end_date:回測/模擬結束日期。
? ? type:運行方式。若為simple_backtest表示回測是通過單擊“編譯運行”運行;full_backtest表示回測是通過單擊“運行回測”運行;sim_trade表示模擬交易。
? ? frequency:運行頻率,只能是"day""minute"或"tick"。
為了讓其他平臺的程序員能夠更加方便地遷移過來,此對象有如下處理:
1)可以添加自己的變量,每次進程關閉時持久保存,重啟時恢復。
2)以"_"開頭的變量則不會被持久保存。
3)如果添加的自己的變量與系統變量相沖突,則會覆蓋掉系統變量;若要恢復系統變量則要刪除自己的變量:del xxx
4)以后可能會往context中添加新的變量來支持更多功能,為了減少困惑,建議使用g。
6.持有的標的對象Position
security:標的代碼
price:最新行情價格
avg_cost:開倉均價,買入標的的加權平均價。
hold_cost:持倉成本,針對期貨有效
init_time:建倉時間,格式為datetime.datetime
transact_time:最后交易時間,格式為datetime.datetime
total_amount:總倉位,但不包括掛單凍結倉位。
closeable_amount:可賣出的倉位。
today_amount:今天開倉倉位
locked_amount:掛單凍結倉位。
value:標的價值,計算公式為price*total_amount*multiplier,其中基金和股票的multiplier為1,期貨為相應乘數。
side:多單還是空單。
pindex:倉位索引。
7.子賬戶信息對象SubPortfolio
inout_cash:累計出入金。
available_cash:可用資金,用來購買證券的資金。
transferable_cash:可取資金,不包括今日賣出證券所得資金。
locked_cash:掛單鎖住資金
type:賬戶所屬類型
long_positions:多單的倉位
short_positions:空單的倉位
positions_value:持倉價值,股票和基金才有持倉價值,期貨為0.
total_value:總資產,包括現金、保證金、倉位總價值,可用來計算收益。
total_liability:總負債,等于融資負債、融券負債、利息總負債的和
net_value:凈資產,等于總資產-總負債。
cash_liability:融資負債
sec_liability:融券負債
interest:利息總負債
maintenance_margin_rate:維持擔保比例
margin:保證金。股票和基金的保證金為100%;融資債券保證金為0;期貨保證金會實時更新=當前期貨價值*保證金比例,當保證金不足時強制平倉。平倉順序:虧損多的(相對于開倉均價)先平倉。
8.賬戶信息對象Portfolio
是SubPortfolio信息的匯總。
inout_cash:累計出入金。
available_cash:可用資金,用來購買證券的資金。
transferable_cash:可取資金,不包括今日賣出證券所得資金。
locked_cash:掛單鎖住資金
margin:保證金。股票和基金的保證金為100%;融資債券保證金為0;期貨保證金會實時更新=當前期貨價值*保證金比例,當保證金不足時強制平倉。平倉順序:虧損多的(相對于開倉均價)先平倉。
positions:等同于long_positions
long_positions:多單的倉位
short_positions:空單的倉位
positions_value:持倉價值,股票和基金才有持倉價值,期貨為0.
total_value:總權益,包括現金、保證金,倉位總價值,可用來計算收益。
returns:總權益的累計收益
starting_cash:初始資金
locked_cash_by_purchase:基金申購未完成而凍結的資金。
locked_cash_by_redeem:基金贖回未到賬的資金。
locked_amount_by_redeem:基金贖回時,凍結的份額。
9.股票的數據對象SecurityUnitData
是一個單位時間內的股票數據。
security:股票代碼
returns:股票在這個單位時間內的相對收益比例
open:時間段開始時價格。
close:時間段結束時價格。
low:最低價
high:最高價
volume:成交的股票數量
money:成交的金額
factor:前復權因子。利用前復權因子可以算出原始價格,方法是:close/factor。(所謂復權就是對股價和成交量進行權息修復,按照股票的實際漲跌繪制股價走勢圖,并把成交量調整為相同的股本口徑)
high_limit:漲停價。
low_limit:跌停價。
avg:這段時間的平均價。
總結
以上是生活随笔為你收集整理的用聚宽量化炒股-3常用对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 汉能薄膜太阳能技术将国家电投大楼变身节能
- 下一篇: 图匹配