@@ -0,0 +1,45 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
import unittest
|
||||
|
||||
from lib.exchange.okx_options_lib import format_position_row
|
||||
|
||||
|
||||
class OptionsDeltaFieldsTests(unittest.TestCase):
|
||||
def test_format_position_exposes_delta_bs(self):
|
||||
row = format_position_row(
|
||||
{
|
||||
"instId": "ETH-USD-261015-2500-C",
|
||||
"pos": "10",
|
||||
"avgPx": "0.02",
|
||||
"markPx": "0.025",
|
||||
"idxPx": "2600",
|
||||
"optType": "C",
|
||||
"stk": "2500",
|
||||
"deltaBS": "0.6123",
|
||||
"deltaPA": "1.23",
|
||||
},
|
||||
ct_mult=0.1,
|
||||
)
|
||||
self.assertAlmostEqual(row["delta"], 0.6123, places=4)
|
||||
self.assertAlmostEqual(row["delta_bs"], 0.6123, places=4)
|
||||
self.assertAlmostEqual(row["delta_pa"], 1.23, places=4)
|
||||
|
||||
def test_format_position_falls_back_delta_field(self):
|
||||
row = format_position_row(
|
||||
{
|
||||
"instId": "BTC-USD-261015-80000-P",
|
||||
"pos": "1",
|
||||
"avgPx": "0.01",
|
||||
"markPx": "0.012",
|
||||
"idxPx": "82000",
|
||||
"optType": "P",
|
||||
"stk": "80000",
|
||||
"delta": "-0.45",
|
||||
},
|
||||
ct_mult=0.01,
|
||||
)
|
||||
self.assertAlmostEqual(row["delta"], -0.45, places=4)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user