You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
967 B

import pandas as pd # type: ignore
from import Backtest
from auto_trading.strat.hold import Hold
from auto_trading.strat.buyhighselllow import BuyHighSellLow
from auto_trading.ptf.in_memory import InMemoryPortfolio
from import Bot
pd.options.plotting.backend = "plotly"
if __name__ == "__main__":
bt = Backtest("./data/NYSE_smallest.csv")
ptf = InMemoryPortfolio(
base_balance=100, change_rate_getter=lambda: bt.current_change
strategy = BuyHighSellLow("WLTW")
bot = Bot(ptf, strategy, bt)
for order in ptf.orders_history:
ch_history: pd.DataFrame = # type: ignore
st_history = pd.DataFrame(
[s.stocks for s in bot.ptf.states_history],
(st_history * ch_history).fillna(0).plot.area().show()