Metadata-Version: 2.1
Name: finterion-investing-algorithm-framework
Version: 0.23.0
Summary: This is the official finterion plugin for the investing algorithm framework open source project.
Author: Marc van Duyn
Author-email: marc@finterion.com
Requires-Python: >=3.10,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: finterion (>=0.8.9,<0.9.0)
Requires-Dist: investing-algorithm-framework (>=6.5.2)
Description-Content-Type: text/markdown

# Finterion Investing Algorithm Framework Plugin

<a href="https://www.finterion.com/" target="_blank">
    <picture style="height: 30px;">
    <source media="(prefers-color-scheme: dark)" srcset="static/sponsors/finterion-dark.png">
    <source media="(prefers-color-scheme: light)" srcset="static/sponsors/finterion-light.png">
    <img src="static/sponsors/finterion-light.png" alt="Finterion Logo" width="200px" height="50px">
    </picture>
</a>

This is the official plugin for the [investing algorithm framework](https://investing-algorithm-framework.com) open source project.

## Installation
You can install the plugin with pip.
```shell
pip install finterion-investing-algorithm-framework
```

## Usage 
In order to use the plugin you must register the following components in your investing algorithm framework application:
- **FinterionOrderExecutor**: This component is responsible for executing orders on the finterion platform.
- **FinterionPortfolioProvider**: This component is responsible for connecting the portfolio and syncing positions.
- **FinterionPingHook**: This component is responsible for pinging the finterion platform.

> **Note:** You must provide the API key of your algorithm in order to use 
> the plugin. You can find your API keys in the developer dashboard of
> your algorithm on the finterion platform.

## Example
```python
import logging.config
from dotenv import load_dotenv

from investing_algorithm_framework import create_app, DEFAULT_LOGGING_CONFIG

from finterion_investing_algorithm_framework import \
    FinterionPortfolioProvider, FinterionOrderExecutor, FinterionPingAction


load_dotenv()
logging.config.dictConfig(DEFAULT_LOGGING_CONFIG)

app = create_app()
app.on_strategy_run(FinterionPingAction)
app.add_order_executor(FinterionOrderExecutor)
app.add_portfolio_provider(FinterionPortfolioProvider)
app.add_market(
    market="Finterion",
    api_key="<FINTERION_API_KEY>", # Or set the environment variable FINTERION_API_KEY
    trading_symbol="EUR",
)
```

## Documentation
You can find the official documentation at our [documentation website](https://docs.finterion.com/)
