Capital Market in Python
Project description
capon
Capital Market in Python
Author | Version | Demo |
---|---|---|
Gialdetti |
capon
is a python package for easily obtaining and analyzing real-time stock data. It provides extended datasets of stock metadata and features.
In addition, it offers simple APIs for tracking your personal stock portfolios and their live status.
Installation
Install latest release version via pip
$ pip install capon
Install latest development version
$ pip install git+https://github.com/gialdetti/capon.git
or
$ git clone https://github.com/gialdetti/capon.git
$ cd capon
$ python setup.py install
A simple example
Get the historical stock price of AMD, and plot it.
import capon
amd = capon.stock('AMD', range='ytd')
The historical data is given as a standard pandas dataframe. This allows a fast and powerful data analysis, manipulation and visualization. For instance,
amd.plot(x='timestamp', y='adjclose')
My portfolio example
Track your personal stock portfolio with real-time data.
a) Define my holdings
from capon import Portfolio, Lot
my_portfolio = Portfolio([
Lot('2020-03-20', 'AMZN', 2, 1888.86),
Lot('2020-03-20', 'TSLA', 8, 451.40),
Lot('2020-03-23', 'GOOGL', 3, 1037.89),
Lot('2020-03-23', 'AMC', 1041, 2.88),
Lot('2020-03-27', 'ZM', 20, 150.29),
])
b) Sync with real-time stock data to find current status
status = my_portfolio.status()
display(status)
total_cost, total_value = status.sum()[['cost', 'value']]
print(f'Total cost: {total_cost:,.2f}; Market value: {total_value:,.2f}')
print(f'Total gain: {total_value-total_cost:+,.2f} ({total_value/total_cost-1:+,.2%})')
c) Plot it
from capon.visualization import plot_status
plot_status(status)
d) Plot historical data
import plotly.express as px
performance = my_portfolio.performance()
px.line(performance, x='timestamp', y='gain_pct', color='symbol', template='capon')
The full example in a live notebook is provided below.
Help and Support
Examples
The tutorials below aim to provide a clear and concise demonstration of some of the most important capabilities of capon
.
For instance, step-by-step guides for building and real-time monitoring of your portfolio, for fetching and analyzing
stock historical data, or for using stocks metadata.
To make it a bit more interesting (hopefully), each tutorial first poses a meaningful stock-market "research question". In the context of answering these questions, the tutorials demonstrate the relevant library features.
Theme | MyBinder | Colab |
---|---|---|
My Stock Portfolio Performance | ||
Stock Market Crash and Rebound Amid Coronavirus | ||
Analyzing the Sector-level Crash and Rebound |
Testing
After cloning and installing the development version, you can launch the test suite:
$ pytest
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
Built Distribution
File details
Details for the file capon-0.0.92.tar.gz
.
File metadata
- Download URL: capon-0.0.92.tar.gz
- Upload date:
- Size: 2.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3334d272e46611dd82964c3d53abf236991f090def65c970328b647fbefcb2d |
|
MD5 | 4a95d659f1de66a1dc4d24dddd942f2c |
|
BLAKE2b-256 | b24a97eeb380409723bafee4c93a49822ce18b33aec9f39c7ae1d674f5c38292 |
Provenance
File details
Details for the file capon-0.0.92-py3-none-any.whl
.
File metadata
- Download URL: capon-0.0.92-py3-none-any.whl
- Upload date:
- Size: 2.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8410f2d192eeb3264ff443c4860ab72273af4d1bb0193248ee8d61b4b08f7e39 |
|
MD5 | f3e11a4f6af8fdc01df8128face0bcd4 |
|
BLAKE2b-256 | 3736485e324ec2b70f0cffc6f2f0bab14379d1037cbc2e21cc9aaee023816b04 |