Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wiseplat
GitHub Repository: wiseplat/python-code
Path: blob/master/ invest-robot-contest_tinkoff-contest-python-main/src/run_trader.py
5932 views
1
import argparse
2
import asyncio
3
4
import yaml
5
6
from src.service.config import prepare_trader_config
7
from src.service.trader import TraderRunner
8
from src.traders.base import load_trader_class
9
10
11
async def main():
12
# parse input args
13
parser = argparse.ArgumentParser()
14
parser.add_argument("trader")
15
parser.add_argument("-c", "--config")
16
args = parser.parse_args()
17
18
# find the trader by file name
19
trader_cls = load_trader_class(args.trader)
20
21
# load the trader's config
22
with open(args.config, "r") as f:
23
config = yaml.safe_load(f)
24
25
# initialize the trader
26
trader_config = await prepare_trader_config(config)
27
trader = trader_cls(trader_config)
28
29
# start the trader
30
if input(trader.initial_message()) == "yes":
31
await TraderRunner.start_trader_loop(trader)
32
else:
33
print("Declined. Trader hasn't been started")
34
35
36
if __name__ == "__main__":
37
asyncio.run(main())
38
39