Crate avin_core

Source
Expand description

§AVIN - Ars Vincere

Core structures for crate avin.

§ru

Основные трейдерские объекты: бар, график, таймфрейм, ордер и тп. Используются всеми остальными частями системы (крейтами): avin_strategy, avin_tester, avin_trader, avin_terminal.

Модуль импортирован в главный крейт avin, используйте его для работы.

§Архитектура (Overview).

Центральные понятия модуля:

  1. AssetList - список активов. Состоит из списка активов - Asset. Внутри актива хранится идентификатор инструмента Iid, графики Chart разных таймфреймов, тики Tic. График содержит TimeFrame, список Bar и копию Iid. К графику может быть добавлен Indicator, а так же датафрейм UserData с любыми пользовательскими расчетами по этому графику (если нужно сделать какой-то свой не стандартный индикатор). Тики внутри ассета группируются по таймфреймам в Footprint и над ними рассчитываются разные метрики Cluster.
  2. TradeList - список трейдов, то что получается после отработки тестера, или в боевом режиме. Он состоит из названия и списка Trade. Когда на счете открывается позиция, открывается трейд. Дальше все операции Operation связанные с этой позицией и ордера Order привязываются к этому трейду. Когда позиция закрывается, закрывается трейд. Трейд подсчитывает суммарные значения по всем операциям. Операция состоит из отдельных сделок Transaction, потому что на стороне биржи ордер может исполниться несколькими сделками.
  3. Брокер содержит счета Account на которых непосредственно совершаются все операции. Брокер крутится в отдельном потоке, и отправляет через канал события Event. Пример события: новый бар, новый тик, ордер исполнен, ордер выставлен… События в боевом режиме принимает трейдер (см. модуль avin_trader) или тестер в режиме бэктеста (см. модуль avin_tester). И передает их стратегии (см. модуль avin_strategy). Стратегия создает действия Action, например: выставить ордер, отменить ордер, подписаться на бары по инструменту… И отправляет их через канал тестеру/трейдеру который уже по очереди их передает брокеру (или VirtualBroker в режиме тестера).
  4. Подмодуль [data] отвечает за загрузку рыночных данных, которые загружены утилитой avin-data.

§Getting start.

Structs§

Account
Broker account.
AssetList
Users asset list.
Bar
Like cundle, but more shortly name.
BarEvent
That event sending from broker when bar updated, or new historical bar.
CanceledLimitOrder
CanceledStopOrder
Chart
Aggregation of instrument id, timeframe and bars.
Cluster
Set of metrics calculated on tics.
DataAction
Message to subscribe or unsubscribe market data.
Extremum
FilledLimitOrder
FilledMarketOrder
Footprint
Aggregation of instrument id, timeframe and clusters.
Iid
Iid - Instrument ID
Manager
Fasade class for operations with market data.
NewLimitOrder
NewMarketOrder
NewStopOrder
Operation
Exchange operation, create when order fulfilled.
OrderAction
Message to post or cancel order.
OrderEvent
That event sending from broker on order changed.
PostedLimitOrder
PostedMarketOrder
PostedStopOrder
Quant
Metrics calculated on tics grouped by price.
Quantum
Part of cluster, consist of tics grouped by price.
Range
Closed interval [from, till]
RejectedLimitOrder
RejectedMarketOrder
RejectedStopOrder
Share
Aggregation of instrument id, charts, tics, footprint charts.
Summary
Tic
One buy/sell deal in market data stream.
TicEvent
That event sending from broker on every new tic.
TradeList
Users trade list.
Transaction
One buy/sell deal in order execution.
Trend

Enums§

Action
Comands or messages, that is sending from strategy to trader/broker.
Asset
Aggregation of instrument id, charts, tics.
Category
List for selecting the instrument category.
Direction
Order and transaction direction.
Event
Market events, that is sending from broker to trader/tester/terminal.
Exchange
List for selecting the instrument exchange.
ExtremumKind
Indicator
LimitOrder
Wrapper for limit order statuses.
MarketData
List for selecting the market data type.
MarketOrder
Wrapper for market order statuses.
Order
Wrapper for any order type.
Source
List for selecting the source of downloading market data.
StopOrder
Wrapper for stop order statuses.
StopOrderKind
List for select stop order kind.
Term
TimeFrame
List for selecting the timeframe.
Trade
Group of orders and operations with one position.
TradeKind
List for selecting the trade type.
TriggeredStopOrder
Wrapper for triggered stop order.

Traits§

ExtremumIndicator
UserData