Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

trade-analysis

Analysing Trades: Compute Profit/Loss, Resize and more


Description

Functions to help analyse trades (as opposed to profit-and-loss series)

Usage

scale_trades(amount, price, timestamp, aggregate = FALSE,
            fun = NULL, ...)
split_trades(amount, price, timestamp, aggregate = FALSE)

limit(amount, price, timestamp, lim, tol = 1e-8)
scale_to_unity(amount)
close_on_first(amount)

tw_exposure(amount, timestamp, start, end, abs.value = TRUE)

Arguments

amount

notionals

price

a vector of prices

timestamp

a vector.

aggregate

TRUE or FALSE

fun

a function

lim

a maximum absolute position size

start

optional time

end

optional time

abs.value

logical. If TRUE, the absolute exposure is computed.

...

passed on to fun

tol

numeric

Details

scale_trades takes a vector of notionals, prices and scales all trades along the paths so that the maximum exposure is 1.

The default fun divides every element of a vector n by max(abs(cumsum(n))). If user-specified, the function fun needs to take a vector of notionals (changes in position.)

split_trades decomposes a trade list into single trades, where a single trade comprises those trades from a zero position to the next zero position.

Value

Either a list or a list-of-lists.

Author(s)

Enrico Schumann

See Also

Examples

n <- c(1,1,-3,-1,2)
p <- 100 + 1:length(n)
timestamp <- 1:length(n)

split_trades(n, p, timestamp)
split_trades(n, p, timestamp, TRUE)  ## almost like the original series

scale_trades(n, p, timestamp)
scale_trades(n, p, timestamp, TRUE)  ## each _trade_ gets scaled

PMwR

Portfolio Management with R

v0.16-0
GPL-3
Authors
Enrico Schumann [aut, cre] (<https://orcid.org/0000-0001-7601-6576>)
Initial release
2021-01-19

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.