Skip to main content

The easiest way to access and analyze Philippine stock data

Project description

psequant :nerd_face:

Build Status Code style: black License: GPL v3

Easiest way to access and analyze Philippine stock data

psequant (pronounced "see-kant") allows you easily access stock data from PSE Edge with as few as 2 lines of python code. Its goal is to promote data driven investments in the Philippines by making relevant information accessible to everyone.

Features

  1. Easy access to Philippine stock data
  2. Templates for backtesting trading strategies on Philippine stocks

Setup

git clone https://github.com/enzoampil/psequant.git
cd psequant
virtualenv env
source env/bin/activate
pip install -r requirements.txt

Get stock data from PSE

from psequant import get_pse_data
df = get_pse_data("JFC", "2018-01-01", "2019-01-01")
print(df.head())

#             open   high    low  close        value
#dt                                                 
#2018-01-03  253.4  256.8  253.0  255.4  190253754.0
#2018-01-04  255.4  255.4  253.0  255.0  157152856.0
#2018-01-05  255.6  257.4  255.0  255.0  242201952.0
#2018-01-08  257.4  259.0  253.4  256.0  216069242.0
#2018-01-09  256.0  258.0  255.0  255.8  250188588.0

Plot data

from matplotlib import pyplot as plt

df.close.plot(figsize=(10, 6))
plt.title("Daily Closing Prices of JFC\nfrom 2018-01-01 to 2019-01-01", fontsize=20)

Analyze with a Simple Moving Average Trading Strategy

ma30 = df.close.rolling(30).mean()
close_ma30 = pd.concat([df.close, ma30], axis=1).dropna()
close_ma30.columns = ['Closing Price', 'Simple Moving Average (30 day)']

close_ma30.plot(figsize=(10, 6))
plt.title("Daily Closing Prices vs 30 day SMA of JFC\nfrom 2018-01-01 to 2019-01-01", fontsize=20)

Backtesting templates

Using the backtrader framework

Relative Strength Index Strategy (14 day window)

Daily Jollibee prices from 2017-01-01 to 2019-01-01

python examples/jfc_rsi.py

Min Max Support Resistance Strategy (30 day window)

Daily Jollibee prices from 2017-01-01 to 2019-01-01

python examples/jfc_support_resistance.py

Run tests

pytest test_psequant.py

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

psequant-0.1.1-py3-none-any.whl (15.1 kB view hashes)

Uploaded Python 3

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