Skip to main content

Financial derivatives and portfolio analysis tools for python

Project description

derpy

https://img.shields.io/pypi/v/derpy.svg https://img.shields.io/travis/rjdscott/derpy.svg Documentation Status

Financial derivatives and portfolio analysis tools for python

How to get up and running

to include the module in your project, you can simply use pip install derpy then in your python project

import derpy
print(derpy.__version__) # returns '0.0.1'

Example uses

Bonds

from derpy import bond as bd

px = 95.0428
face_val = 100.0
mat = 1.5
cpn_frq = 2
cpn_rate = 5.25
ytm = 5.5

print('    Price: {}'.format(bd.bond_price(face_val, mat, ytm, cpn_rate, cpn_frq)))
print('    Yield: {}'.format(bd.bond_ytm(px, face_val, mat, cpn_rate, cpn_frq)))
print('   ModDur: {}'.format(bd.bond_duration(px, face_val, mat, cpn_rate, cpn_frq)[0]))
print('   MacDur: {}'.format(bd.bond_duration(px, face_val, mat, cpn_rate, cpn_frq)[1]))
print('Convexity: {}'.format(bd.bond_convexity(px, face_val, mat, cpn_rate, cpn_frq)))

Options

from derpy.options import black_scholes_merton as bsm

# usage method 1: use function wrapper
input = ['call', 20, 21, 0.20, 0.1, 0.0002, 0]
call_price = bsm.option_pricing(bsm.euro_option, input)
call_gamma = bsm.option_pricing(bsm.gamma, input)

# usage method 2: call individual functions
put_price = bsm.euro_option('put', 20, 21, 0.2, 0.1, 0.0002) # div_yield is optional
put_gamma = bsm.gamma('put', 20, 21, 0.2, 0.1, 0.0002, 0.0001)

print(call_price)  # return 0.16384395..
print(call_gamma)  # return 0.23993880..
print(put_price)  # return 1.16342..
print(put_gamma)  # return 0.2399107..

Portfolio analysis

from derpy import portfolio as pt

securities = ['AAA', 'BBB']
positions = [[11, 10], [12, 10], [13, 10], [13, 11], [13, 12]]
prices = [[10, 10], [11, 10], [12, 10], [12, 10], [12, 10]]
dates = ['2018-07-01', '2018-08-01', '2018-09-01', '2018-10-01', '2018-11-01']

df_positions = pd.DataFrame(data=positions, columns=securities, index=dates)
df_prices = pd.DataFrame(data=prices, columns=securities, index=dates)

p = pt.Portfolio(names=securities, positions=df_positions, prices=df_prices)

print(p.sec_values())
print(p.sec_weights())
print(p.portfolio_value())
print(p.portfolio_returns())

History

0.1.0 (2018-09-19)

  • Released option pricing

  • Released portfolio analysis

  • Added testing for Options and Portfolios

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

derpy-0.1.1.tar.gz (15.8 kB view details)

Uploaded Source

Built Distribution

derpy-0.1.1-py2.py3-none-any.whl (13.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file derpy-0.1.1.tar.gz.

File metadata

  • Download URL: derpy-0.1.1.tar.gz
  • Upload date:
  • Size: 15.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.10.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.1 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.5

File hashes

Hashes for derpy-0.1.1.tar.gz
Algorithm Hash digest
SHA256 baacb62838cf7e1de41b1e289424373af8107b3f87ad101608b07dbedd47faf0
MD5 d6245cc0b20dfe04ca1d19d5c16979cc
BLAKE2b-256 880fba740f8495182413e5ec3ed81ed0c7ee8b7af38babfdfd6a19986d2022c6

See more details on using hashes here.

File details

Details for the file derpy-0.1.1-py2.py3-none-any.whl.

File metadata

  • Download URL: derpy-0.1.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 13.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.10.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.4.1 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.5

File hashes

Hashes for derpy-0.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a8bd325c49b2332247a9e0d345714eb44596bca4e7f3b8b847ae2f87be360658
MD5 bd866dcb8547c362f8791b9a77732cc6
BLAKE2b-256 2d0fcc6bf47c238e8428729273de05f01e4bdc24fbe746660132f67ecf93e3a9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page