現在選擇權代號通常會有當週,下週,跟月選3個合約,如果現在是第一週,就是有TX1,TX2,TXO,三個。只有第三週是2個(TXO跟TX4)。
目前的python語法裡TX是寫死的,每周要自己手動改,有點煩,所以就想了一個動判斷的語法,來抓今天是該是TX幾。
主要就是判斷連續兩週的合約有沒有值,如果都有的話,那TX就是比較小的那個。
像是TX1跟TX2都有值,那今天就會是TX1。
第三週因為是抓TXO跟TX4,但第四週也會有TXO跟TX4,所以這一個判斷要放在最後面才行,不然第四週會被先判斷成是TXO。
#抓當週的週選的TX代號
if api.Contracts.Options['TX1'] != None and api.Contracts.Options['TX2'] != None:
TX = 'TX1'
print(api.Contracts.Options[TX])
elif api.Contracts.Options['TX2'] != None and api.Contracts.Options['TXO'] != None:
TX = 'TX2'
print(api.Contracts.Options[TX])
elif api.Contracts.Options['TX4'] != None and api.Contracts.Options['TX1'] != None:
TX = 'TX4'
print(api.Contracts.Options[TX])
elif api.Contracts.Options['TX4'] != None and api.Contracts.Options['TX5'] != None:
TX = 'TX4'
print(api.Contracts.Options[TX])
elif api.Contracts.Options['TX5'] != None and api.Contracts.Options['TX1'] != None:
TX = 'TX5'
print(api.Contracts.Options[TX])
elif api.Contracts.Options['TXO'] != None and api.Contracts.Options['TX4'] != None:
TX = 'TXO'
print(api.Contracts.Options[TX])
沒有留言:
張貼留言