Skip to content

Commit ebb81bc

Browse files
committed
Add portfolio active validation
1 parent 1e989c1 commit ebb81bc

3 files changed

Lines changed: 19 additions & 1 deletion

File tree

finterion_investing_algorithm_framework/create_app.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
FinterionMarketService
99
from finterion_investing_algorithm_framework.models.portfolio_configuration \
1010
import FinterionPortfolioConfiguration
11+
from .validation import check_portfolio_active
1112

1213
logger = logging.getLogger("finterion_investing_algorithm_framework_plugin")
1314

@@ -22,6 +23,10 @@ def create_app(
2223
client = Finterion(api_key=api_key, base_url=base_url)
2324
client.ping()
2425
model = client.get_algorithm_model()
26+
27+
# Check that the portfolio is active
28+
check_portfolio_active(client)
29+
2530
portfolio_configuration = FinterionPortfolioConfiguration(
2631
trading_symbol=model['profile']['trading_symbol'],
2732
market_data_markets=model['profile']['markets'],
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from finterion import Finterion
2+
from finterion_investing_algorithm_framework.exceptions import \
3+
FinterionInvestingAlgorithmFrameworkException
4+
5+
6+
def check_portfolio_active(finterion_client: Finterion):
7+
portfolio = finterion_client.get_portfolio()
8+
9+
if portfolio['active'] is False:
10+
raise FinterionInvestingAlgorithmFrameworkException(
11+
"Cannot run on in-active portfolio, "
12+
"please activate your portfolio"
13+
)

version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
VERSION = (0, 13, 1, 'alpha', 0)
1+
VERSION = (0, 13, 2, 'alpha', 0)
22

33

44
def get_version(version=None):

0 commit comments

Comments
 (0)