[注意] 如果使用以下計算爆倉價,需要使用Mark Price (標記價格)。這個價格的計算方法,需要依據每個交易所公佈的產品說明。我建議遠離爆倉線設定止損點,避免計算這個爆倉價,同時避免爆倉發生。爆倉是最糟糕的gambling。
import pandas as pd
p = 10000
slr = -0.005 # stop loss
tpr = 0.01 # take profit
side = -1 # long (1) or short (-1)
rows = []
# Inverse contract
sl = p/(1-side*slr)
tp = p/(1-side*tpr)
rows += [{'sl': '{:.2f}'.format(sl),
'p0': '{:.2f}'.format(p),
'tp': '{:.2f}'.format(tp),
'name': 'inverse'
}]
# Normal contract
sl = p*(1+side*slr)
tp = p*(1+side*tpr)
rows += [{'sl': '{:.2f}'.format(sl),
'p0': '{:.2f}'.format(p),
'tp': '{:.2f}'.format(tp),
'name': 'normal'
}]
df = pd.DataFrame.from_records( rows )
df.set_index('name',inplace=True)
print(df)