Portfolio Analytics Utilities
Project description
Money Counter
Portfolio analytics utilities
This is the beginning of a work in progress. I expect it will be in pretty good shape early in 2023 and then evolve from there.
This is a supporting package for a larger project I am working on and should be useful to others as is.
Installation
$ pip install moneycounter
Prerequisite Trades Data Frame
A trades dataframe has these columns:
columns = Index(['dt', 'q', 'p', 'cs', 't', 'a'], dtype='object')
It must be ordered by dt.
Where:
Column | Description |
---|---|
dt |
execution time as datetime.datetime |
q |
quantity traded, signed with negative as a sale |
p |
execution price |
cs |
contract size, typically 1.0 |
t |
ticker |
a |
account |
Example Calculations
from datetime import date
from moneycounter import pnl, realized_gains, wap_calc
# Calculate realized, unrealized and total pnl from trades dataframe.
realized, unrealized, total = pnl(df, price=price)
# Calculate weighted average price of open positions from trades data frame.
wap = wap_calc(df)
# Calculate realized gains from trades data frame.
realized = realized_gains(df)
$` \phi = c * Q * (p - p_wap) `$
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
moneycounter-1.2.1.tar.gz
(8.4 kB
view hashes)
Built Distribution
Close
Hashes for moneycounter-1.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f3448134b45c2fbb61c1c581f5cc2a26e1a243c59b4e6ba561d949ec058431e |
|
MD5 | 9b1210c605d640ab69236c36b3242cbc |
|
BLAKE2b-256 | e6483b5b2ce6e3a349ae065bdd3948d9cacb9876cde7e39d9afce8f62f107134 |