Processor( int timeFrame, double latencySend, double latencyReceive )
Name | |
Return Type | Description |
onCandle( Candle candle ) |
std::function |
called on new candle event | onTick( Tick tick ) |
std::function |
called on new tick event |
Feed( Tick tick ) |
void |
process by individual tick | Feed( Rcpp::DataFrame ticks ) |
void |
batch process, see 'Ticks' section |
SendOrder( Order* order ) |
void |
send order to exchange | CancelOrders() |
void |
cancel active orders |
GetPosition() |
int |
total executed position, positive means long, negative means short | GetPositionPlanned() |
int |
total number of orders processing ( not executed or cancelled yet ) |
GetMarketValue() |
double |
total portfolio percent value ( initial value is 0 ) | GetCandles() |
Rcpp::List |
candles history, see 'Candles' section |
GetOrders() |
Rcpp::List |
orders history, see 'Orders' section | GetTrades() |
Rcpp::List |
trades history, see 'Trades' section |
GetSummary() |
Rcpp::List |
trades summary, see 'Summary' section | GetOnCandleMarketValueHistory() |
std::vector |
vector of portfolio value history recalculated on candle complete |
GetOnCandleDrawDownHistory() |
std::vector |
vector of portfolio drawdown history recalculated on candle complete | GetOnDayClosePerformanceHistory() |
Rcpp::List |
data.table of daily performance history with columns date, return, pnl, drawdown
|
Reset() |
void |
resets to initial state |
latencySend
seconds it reaches exchange.
System receives confirmation of order placement latencyReceive
seconds later.
When execution conditions met on exchange - order is executed and system receives
execution confirmation latencyReceive
seconds later.
When system sends cancel request to exchange and after latencySend
seconds
when exchange receives cancel request if order is not executed yet it is cancelled and
cancellation confirmation is received by system after latencyReceive
seconds.Name |
Description |
time |
time |
price |
price |
Name |
Description |
time |
time when formed |
open |
first tick price |
high |
maximum tick price |
low |
minimum tick price |
close |
last tick price |
volume |
total volume traded |
Name |
Description |
id_trade |
trade id |
id_sent |
tick id when order was sent to exchange |
id_processed |
tick id when enter order execution or cancelled confirmation was received ( first tick after time_processed )
|
time_sent |
time when order was sent to exchange |
time_processed |
time when enter order execution or cancelled confirmation was received |
price_init |
initial price |
price_exec |
execution price |
side |
buy /sell
|
type |
limit /market
|
state |
new /registered /executed /cancelling /cancelled
|
new
when order to open trade is just placed, opened
when trade is not closed yet and closed
when trade is flat.
Trades returned as data.table with the following columns:
Name |
Description |
id_trade |
trade id |
id_sent |
tick id when enter order was sent to exchange |
id_enter |
tick id when enter order execution confirmation was received ( first tick after enter time_executed )
|
id_exit |
tick id when exit order execution confirmation was received ( first tick after exit time_executed )
|
time_sent |
time when enter order sent to exchange |
time_enter |
time when enter order execution confirmation was received |
time_exit |
time when exit order execution confirmation was received |
side |
side long /short
|
price_enter |
enter order execution price |
price_exit |
exit order execution price |
pnl |
trade pnl net |
mtm_min |
min mark-to-market |
mtm_max |
max mark-to-market |
cost |
absolute trading cost |
pnl_rel |
trade pnl net in basis points |
mtm_min_rel |
min mark-to-market in basis points |
mtm_max_rel |
max mark-to-market in basis points |
cost_rel |
relative trading cost in basis points |
Name |
Description |
from |
first tick time |
to |
last tick time |
days_tested |
number of trading days tested |
days_traded |
number of trading days traded ( at least one order was executed ) |
n_per_day |
number of trades per day |
n |
number of trades |
n_long |
number of long trades |
n_short |
number of short trades |
n_win |
number of winning trades |
n_loss |
number of loosing trades |
pct_win |
percent of winning trades |
pct_loss |
percent of loosing trades |
avg_win |
average winning trade in basis points |
avg_loss |
average loosing trade in basis points |
avg_pnl |
average trade pnl in basis points |
win |
total won in percent |
loss |
total lost in percent |
pnl |
total pnl in percent |
max_dd |
maximum drawdown in percent |
max_dd_start |
time the maximum drawdown started |
max_dd_end |
time the maximum drawdown recovered |
max_dd_length |
number of calendar days in the maximum drawdown period |
sharpe |
annualized Sharpe ratio calulated on daily returns |
sortino |
annualized Sortino ratio calulated on daily returns |
r_squared |
R Squared calulated on daily PnL values |
Candle
,
Cost
, Indicator
,
Order
, Tick
Other c++ classes: BBands
,
Candle
, Cost
,
Crossover
, Ema
,
Indicator
, Order
,
RollLinReg
, RollPercentRank
,
RollRange
, RollSd
,
RollVolumeProfile
, Rsi
,
Sma
, Stochastic
,
Tick