Skip to content

Commit

Permalink
Refactor sync functionality
Browse files Browse the repository at this point in the history
  • Loading branch information
MDUYN committed Mar 26, 2024
1 parent 4a1c579 commit cbbb1c2
Show file tree
Hide file tree
Showing 74 changed files with 3,007 additions and 1,598 deletions.
84 changes: 32 additions & 52 deletions README.md

Large diffs are not rendered by default.

12 changes: 6 additions & 6 deletions examples/backtest/algorithm/strategy.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,9 @@ class CrossOverStrategy(TradingStrategy):
"DOT/EUR-ticker"
]
symbols = ["BTC/EUR", "DOT/EUR"]
fast = 9
slow = 50
trend = 100
fast = 21
slow = 75
trend = 150

def apply_strategy(self, algorithm: Algorithm, market_data):

Expand All @@ -67,9 +67,9 @@ def apply_strategy(self, algorithm: Algorithm, market_data):

df = market_data[f"{symbol}-ohlcv"]
ticker_data = market_data[f"{symbol}-ticker"]
fast = ti.sma(df['Close'].to_numpy(), 9)
slow = ti.sma(df['Close'].to_numpy(), 50)
trend = ti.sma(df['Close'].to_numpy(), 100)
fast = ti.sma(df['Close'].to_numpy(), self.fast)
slow = ti.sma(df['Close'].to_numpy(), self.slow)
trend = ti.sma(df['Close'].to_numpy(), self.trend)
price = ticker_data['bid']

if not algorithm.has_position(target_symbol) \
Expand Down
9 changes: 1 addition & 8 deletions examples/backtest_experiment/backtest.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,7 @@
from algorithms import create_algorithm
from app import app
from investing_algorithm_framework import PortfolioConfiguration, \
pretty_print_backtest_reports_evaluation, BacktestReportsEvaluation, \
load_backtest_reports

pretty_print_backtest_reports_evaluation, BacktestReportsEvaluation

if __name__ == "__main__":
end_date = datetime(2023, 12, 2)
Expand Down Expand Up @@ -155,8 +153,3 @@
)
evaluation = BacktestReportsEvaluation(reports)
pretty_print_backtest_reports_evaluation(evaluation)
reports = load_backtest_reports(
"backtest_reports"
)
evaluation = BacktestReportsEvaluation(reports)
pretty_print_backtest_reports_evaluation(evaluation)
8 changes: 6 additions & 2 deletions investing_algorithm_framework/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
PortfolioConfiguration, RESOURCE_DIRECTORY, pretty_print_backtest, \
Trade, OHLCVMarketDataSource, OrderBookMarketDataSource, SYMBOLS, \
TickerMarketDataSource, MarketService, BacktestReportsEvaluation, \
pretty_print_backtest_reports_evaluation, load_backtest_reports
pretty_print_backtest_reports_evaluation, load_backtest_reports, \
RESERVED_BALANCES, APP_MODE, AppMode
from investing_algorithm_framework.app import TradingStrategy, \
StatelessAction, Task
from investing_algorithm_framework.infrastructure import \
Expand Down Expand Up @@ -55,5 +56,8 @@
"pretty_print_backtest_reports_evaluation",
"BacktestReportsEvaluation",
"load_backtest_reports",
"SYMBOLS"
"SYMBOLS",
"RESERVED_BALANCES",
"APP_MODE",
"AppMode"
]
17 changes: 11 additions & 6 deletions investing_algorithm_framework/app/algorithm.py
Original file line number Diff line number Diff line change
Expand Up @@ -727,12 +727,17 @@ def get_allocated(self, market=None, identifier=None) -> float:
.get_all()

else:
query_params = {
"market": market,
"identifier": identifier
}
portfolio_configurations = [self.portfolio_configuration_service
.find(query_params)]
query_params = {"market": market, "identifier": identifier}
portfolio_configuration = self.portfolio_configuration_service \
.find(query_params)

if not portfolio_configuration:
raise OperationalException("No portfolio found.")

portfolio_configurations = [portfolio_configuration]

if len(portfolio_configurations) == 0:
raise OperationalException("No portfolio found.")

portfolios = []

Expand Down
Loading

0 comments on commit cbbb1c2

Please sign in to comment.