Skip to main content

A package used for portfolio analysis in Fintech512

Project description

Introduction

This package is used for portfolio analysis in FINTECH 512 Bigbucks project. This package also depends on the bigbucks_db package to interact with the supabase database and Alpha Vantage.

Connect to supabase and alpha Vantage

# Connect to supabase
SUPABASE_URL = ""
KEYS = ""
objs = Table_View(SUPABASE_URL, KEYS)

# Connect to Alpha Vantage
STOCK_API_KEYS = ""
objs_realtime = Buy_And_Sell(STOCK_API_KEYS)

Import package

from bigbucks_port.portfolio import *

Functions

  • Get the current portfolio holdings for user. It returns a json list includes the stock symbol, number of shares and price per share (weighted by historical cost) Note: If you want to get all the stocks for all the users, set id=None. Same for other functions below.
holding = current_holding(objs,6)

Example output:

[{"stock_symbol":"AAPL","num_shares":0,"pv":0.0,"price per share":null},{"stock_symbol":"IBM","num_shares":100,"pv":13107.0007324219,"price per share":131.0700073242}]
  • Calculate the expected return, std and covariance of portfolio The statistics are calculated based on the historical data. Note: It returns 4 values, the fourth one is the json list with expected return and std for each stock and the rest 3 are used in later functions.
er,std,covar,er_std_json = er_covar(objs,6)

Example output of er_std_json

{"mean":{"AAPL":0.2318697889,"IBM":-0.0075799068},"std":{"AAPL":0.3361717704,"IBM":0.2759977582}}
  • Get the risk and return for a list of portfolios with randomly generated weights
# N: number of portfolios generated
return_risk = rand_scatter(5,objs,6)

Example output

{"mean": [0.13009300157209497, 0.02497749995225248, 0.16554410436129516, 0.14454572030763208, 0.10086096141188186], "std": [0.06705431545265916, 0.0656856601122741, 0.07160084144613905, 0.0686922284906061, 0.06474888518469718]}
  • Get the risk and return for the efficient frontier
return_risk = frontier(objs,6)

Example output

{"mean": [],"std":[]}
  • Get the optimal portfolio given a risk free rate
opt = optimize_port(0.0025,objs,6)

Example output

{"opt mean": 0.2318697888966346, "opt std": 0.08412521675427394, "opt sharpe": 2.7265283555418782}
  • Get the risk and return for the current portfolio Note: weight is calculated by the current holding
risk_return = cur_risk_return(0.0025,objs,6)

Example output

{'mean': -0.007579906778486523, 'std': 0.06906698680510652, 'sharpe': -0.1459439197330273}
  • Calculate the holding period return and balance
holding_stat = holding_return(objs,6,objs_realtime)

Example output

# PV: the market value of all cash and stocks in the account
# Cash: cash remained in the account balance
{'PV': 1000000.0, 'Cash': 986892.9992675781, 'Holding period return': 0.0}

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

bigbucks_port-0.0.2.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

bigbucks_port-0.0.2-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file bigbucks_port-0.0.2.tar.gz.

File metadata

  • Download URL: bigbucks_port-0.0.2.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.7

File hashes

Hashes for bigbucks_port-0.0.2.tar.gz
Algorithm Hash digest
SHA256 d245ba9c5bf269c6a2d7794afece04d0d90bcb993f7d9537e8ba60fe2b7e8025
MD5 3721aa88c1f61ffd14e2d99499f19b8e
BLAKE2b-256 5a462646b0b39aa6152edcd37d2528d63494dedbf289eeb2f1a7bacf7eb39cb7

See more details on using hashes here.

File details

Details for the file bigbucks_port-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for bigbucks_port-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b9e4b9b5a6151286b364a814b92673c31126965bf97060c5265a95baf376bde4
MD5 e7e52aecd1ce6317af4180197f0e1576
BLAKE2b-256 aaa385e43e9936531bfc6dc702d2a64b431fffb74b6157b64c72c30ece2a60b5

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