python-okx/test/AccountTest.py

145 lines
6.8 KiB
Python

import unittest
from loguru import logger
from okx import Account
class AccountTest(unittest.TestCase):
def setUp(self):
api_key = '52049394-3c72-4c06-8d87-d6399450c264'
api_secret_key = 'E532EB5AF81E6E50A2875225FEDC9150'
passphrase = 'Fixedloan2024!'
self.AccountAPI = Account.AccountAPI(api_key, api_secret_key, passphrase, flag='1')
# '''
# POSITIONS_HISTORY = '/api/v5/account/positions-history' #need add
# GET_PM_LIMIT = '/api/v5/account/position-tiers' #need add
# ACCOUNT_RISK = '/api/v5/account/risk-state' #need add
# def test_account_risk(self):
# print(self.AccountAPI.get_account_risk())
#
# def test_get_pm_limit(self):
# print(self.AccountAPI.get_pm_limit("SWAP","BTC-USDT"))
# positions-history
# def test_get_positions_history(self):
# print(self.AccountAPI.get_positions_history())
# def test_get_instruments(self):
# print(self.AccountAPI.get_instruments(instType='SPOT'))
# def test_get_account_bills_archive(self):
# print(self.AccountAPI.get_account_bills_archive(begin='1715780962300',end='1716998400000'))
# def test_positions_builder(self):
# print("Both real and virtual positions and assets are calculated")
# sim_pos = [{'instId': 'BTC-USDT-SWAP', 'pos': '10'}, {'instId': 'BTC-USDT-SWAP', 'pos': '10'}]
# sim_asset = [{'ccy': 'USDT', 'amt': '100'}]
# print(self.AccountAPI.position_builder(inclRealPosAndEq=False, spotOffsetType='1', greeksType='CASH',
# simPos=sim_pos, simAsset=sim_asset))
#
# print("Only existing real positions are calculated")
# print(self.AccountAPI.position_builder(inclRealPosAndEq=True, greeksType='CASH'))
#
# print("Only virtual positions are calculated")
# print(self.AccountAPI.position_builder(inclRealPosAndEq=False, simPos=sim_pos))
# def test_get_user_config(self):
# print(self.AccountAPI.get_account_config())
# def test_get_positions(self):
# print(self.AccountAPI.get_positions("SWAP"))
# def test_get_balance(self):
# print(self.AccountAPI.get_account())
# def test_get_positions_risk(self):
# print(self.AccountAPI.get_position_risk("SWAP"))
# def test_get_bills(self):
# print(self.AccountAPI.get_bills_detail())
#
# def test_get_bills_arch(self):
# print(self.AccountAPI.get_bills_details())
# def test_set_position_mode(self):
# print(self.AccountAPI.set_position_mode("long_short_mode"))
# def test_set_leverage(self):
# print(self.AccountAPI.set_leverage(instId="BTC-USDT",lever="5",mgnMode="isolated"))
# def test_get_max_avaliable_size(self):
# print(self.AccountAPI.get_max_avail_size(instId="BTC-USDT",tdMode="cash"))
# def test_get_max_size(self):
# print(self.AccountAPI.get_maximum_trade_size(instId="BTC-USDT",tdMode="cash"))
# def test_get_positions(self):
# print(self.AccountAPI.get_positions("MARGIN"))
# def test_set_margin_balance(self):
# print(self.AccountAPI.Adjustment_margin(instId="BTC-USDT",posSide="net",type="add",amt="1"))
# def test_get_lev_info(self):
# print(self.AccountAPI.get_leverage("BTC-USDT","cross"));
# def test_get_max_loan(self):
# print(self.AccountAPI.get_max_loan("BTC-USDT","cross","USDT"))
# def test_get_trade_fee(self):
# print(self.AccountAPI.get_fee_rates("SPOT"))
# def test_get_insterested_accrued(self):
# print(self.AccountAPI.get_interest_accrued())
# def test_get_interestred_rate(self):
# print(self.AccountAPI.get_interest_rate())
# def test_set_greeks(self):
# print(self.AccountAPI.set_greeks("BS"))
#
# def test_set_isolated_mode(self):
# print(self.AccountAPI.set_isolated_mode("automatic","MARGIN"))
# def test_set_max_withdraw(self):
# print(self.AccountAPI.get_max_withdrawal("USDT"))
# def test_borrow_repay(self):
# print(self.AccountAPI.borrow_repay("BTC","borrow","1.0"))
# def test_borrow_repay_history(self):
# print(self.AccountAPI.get_borrow_repay_history())
# def test_get_interest_limits(self):
# print(self.AccountAPI.get_interest_limits())
# def test_simulated_margin(self):
# print(self.AccountAPI.get_simulated_margin())
# def test_get_greeks(self):
# print(self.AccountAPI.get_greeks())
# '''
# def test_simulated_margin(self):
# print(self.AccountAPI.get_simulated_margin())
# def test_get_VIP_interest_accrued_data(self):
# print(self.AccountAPI.get_VIP_interest_accrued_data())
# def test_get_VIP_interest_deducted_data(self):
# print(self.AccountAPI.get_VIP_interest_deducted_data())
# def test_get_VIP_loan_order_list(self):
# print(self.AccountAPI.get_VIP_loan_order_list())
# def test_get_VIP_loan_order_detail(self):
# print(self.AccountAPI.get_VIP_loan_order_detail(ordId='1'))
# def test_set_risk_offset_typel(self):
# print(self.AccountAPI.set_risk_offset_typel(type='1'))
#
# def test_set_auto_loan(self):
# print(self.AccountAPI.set_auto_loan())
#
# def test_activate_option(self):
# print(self.AccountAPI.activate_option())
# def test_get_max_avaliable_size(self):
# print(self.AccountAPI.get_max_avail_size(instId="BTC-USDT",tdMode="cash",quickMgnType='manual'))
# def test_borrow_repay(self):
# print(self.AccountAPI.borrow_repay("BTC", "borrow", "1.0"))
# def test_simulated_margin(self):
# print(self.AccountAPI.get_simulated_margin(spotOffsetType='3'))
# def test_get_fix_loan_borrowing_limit(self):
# logger.debug(f'{self.AccountAPI.get_fix_loan_borrowing_limit()}')
# def test_get_fix_loan_borrowing_quote(self):
# logger.debug(f'{self.AccountAPI.get_fix_loan_borrowing_quote(type="normal")}')
# def test_place_fix_loan_borrowing_order(self):
# logger.debug(f'{self.AccountAPI.place_fix_loan_borrowing_order(ccy="BTC", amt="0.1515", maxRate="0.001", term="30D", reborrow=True, reborrowRate="0.01")}')
# def test_amend_fix_loan_borrowing_order(self):
# logger.debug(f'{self.AccountAPI.amend_fix_loan_borrowing_order(ordId="2407301043344857",reborrow=True,renewMaxRate="0.01")}')
# def test_fix_loan_manual_reborrow(self):
# logger.debug(f'{self.AccountAPI.fix_loan_manual_reborrow(ordId="2407301043344857",maxRate="0.1")}')
# def test_repay_fix_loan_borrowing_order(self):
# logger.info(f'{self.AccountAPI.repay_fix_loan_borrowing_order(ordId="2407301054407907")}')
# def test_get_fix_loan_borrowing_orders_list(self):
# logger.debug(self.AccountAPI.get_fix_loan_borrowing_orders_list(ordId="2407301054407907"))
if __name__ == '__main__':
unittest.main()