Browse Source

feat: normalized agg

pull/14/head
QuentinN42 1 year ago
parent
commit
639b2f542a
Signed by: number42 GPG Key ID: 2CD7D563712B3A50
  1. 2
      auto_trading/main.py
  2. 14
      auto_trading/predictor/normalized.py
  3. 4
      main.py

2
auto_trading/main.py

@ -29,4 +29,4 @@ class Bot:
def print_results(self):
"""print the results"""
for k,v in self.ptf.content().items():
print(f"{k}: {v}")
print(f"{k}: {v:e}")

14
auto_trading/predictor/normalized.py

@ -0,0 +1,14 @@
from random import random
import pandas as pd
from ..interfaces import Predictor
class NormalizedPredictor(Predictor):
def predict(self, data: pd.DataFrame) -> dict:
"""It's just random"""
df = data.iloc[-1]
df = df/df.sum()
return df.to_dict()

4
main.py

@ -2,7 +2,7 @@ from auto_trading.broker.backtest import Backtest
from auto_trading.strat.all_in import AllIn
from auto_trading.ptf.in_memory import InMemoryPortfolio
from auto_trading.predictor.mean_agg import MeanAggregator
from auto_trading.predictor.random_predictor import RandomPredictor
from auto_trading.predictor.normalized import NormalizedPredictor
from auto_trading.main import Bot
if __name__ == '__main__':
@ -10,7 +10,7 @@ if __name__ == '__main__':
with open(csv, 'r') as f:
head = f.readline().replace("\n", "").split(",")[1:]
pred = MeanAggregator([RandomPredictor() for _ in range(4)])
pred = MeanAggregator([NormalizedPredictor() for _ in range(4)])
bot = Bot(
ptf=InMemoryPortfolio({k:1 for k in head}),

Loading…
Cancel
Save