UsageΒΆ
To use finance_calculator in a project:
import finance_calculator as fc
drawdown = fc.get_drawdown(scheme_data, 250, 22)
volatility = fc.get_volatility(scheme_data, 250, 22)
sharpe = fc.get_sharpe(scheme_data, 250, 22)
sortino = fc.get_sortino(scheme_data, 250, 22)
treynor = fc.get_treynor(scheme_data, benchmark_data, 250, 22)
alpha = fc.get_alpha(scheme_data, benchmark_data, 250, 22)
beta = fc.get_beta(scheme_data, benchmark_data, 250, 22)
upside_capture = fc.get_upside_capture(scheme_data, benchmark_data, 250, 22)
downside_capture = fc.get_downside_capture(scheme_data, benchmark_data, 250, 22)
If you want only current value of a given ratio, you can use tail=True
as a keyword argument
in all of these functions. With tail=False
it will give a pandas dataframe with values in a
rolling window fashion.
The scheme data and the benchmark data can either be a pandas dataframe or list of tuples: (date, nav).
Also you can use it to calculate xirr:
>>> import finance_calculator as fc
>>> cashflow_data = [
(datetime.date(2020, 3, 1), 10000),
(datetime.date(2020, 4, 1), 10000),
(datetime.date(2020, 5, 1), 10000),
(datetime.date(2020, 6, 1), 10000),
(datetime.date(2020, 7, 1), 10000),
(datetime.date(2020, 8, 1), -60000),
]
>>> xirr = fc.get_xirr(cashflow_data)