Set up mock trading¶
NexusTrader provides a mock trading environment to test your trading strategies without risking any real money. In this section, we will show you how to set up mock trading.
Mock Trading Account¶
Though in the real trading environment, you need to set up a real trading account for the exchanges, in the mock trading environment, you can use the mock trading account provided by the NexusTrader. There are only three types of mock trading accounts:
SPOT_MOCK
LINEAR_MOCK
INVERSE_MOCK
For each exchange, just set the account_type to the corresponding mock trading account type.
from nexustrader.config import Config
from nexustrader.exchange.binance import BinanceAccountType
config = Config(
strategy_id="strategy_mock",
user_id="user_test",
strategy=Demo(),
basic_config={
ExchangeType.BINANCE: BasicConfig(
api_key=BINANCE_API_KEY,
secret=BINANCE_SECRET,
testnet=False,
)
},
public_conn_config={
ExchangeType.BINANCE: [
PublicConnectorConfig(
account_type=BinanceAccountType.USD_M_FUTURE,
rate_limit=RateLimit(
max_rate=20,
time_period=1,
),
)
]
},
private_conn_config={
ExchangeType.BINANCE: [
MockConnectorConfig(
initial_balance={"USDT": 100000}, # setup the initial balance
account_type=BinanceAccountType.LINEAR_MOCK, # setup the mock trading account type
fee_rate=0.0005, # setup the fee rate
quote_currency="USDT", # setup the quote currency, this if for pnl calculation
overwrite_balance=False, # overwrite the balance
overwrite_position=False, # overwrite the position
update_interval=60, # setup the update interval for sync balance and position
leverage=1, # setup the leverage
)
]
},
db_path="/data/grafana-data/cache.db", # The ``db_path`` is the path to the database file
)
Note
For now, the mock trading account is only available for the Mock Perpetual Futures.
Supported Order Types¶
In the mock trading environment, you can only use the MARKET order type, which means the mocking price is best bid for buy order and best ask for sell order. The order will be immediately filled.
There are several checks before you place an order:
Check the balance and position
Check the leverage
Check the symbol availability
Note
The mock trading is not the same as testnet, the mock trading is a real trading environment, but the price is mocked.