A Package for Point and Figure Charting
Project description
pyPnF
A Python package for Point and Figure Charting
Installation
pip install pypnf
Usage
Quickstart using integrated time-series example
from pypnf import PointFigureChart
from pypnf import dataset
ts = dataset('Set 1')
pnf = PointFigureChart(ts=ts,method='cl', reversal=3, boxsize=1, scaling='abs')
print(pnf)
Point & Figure (abs|cl) 1 x 3
--- - - - - - ---
117 . . . . X 117
116 . . X . X 116
115 X . X O X 115
114 X O X O X 114
113 X O X O . 113
112 X O . . . 112
111 X . . . . 111
--- - - - - - ---
printed 5/5 columns.
Quickstart using time-series data loaded via the external package yfinance
If the yfinance and/or pandas package is not yet installed use:
pip install pandas
pip install yfinance
In order to process the downloaded data with the PointFigureChart-class the time-series data needs to be prepared.
import yfinance as yf
symbol = 'AAPL'
data = yf.Ticker(symbol)
ts = data.history(start='2018-01-01', end='2020-06-30')
# reset index
ts.reset_index(level=0, inplace=True)
# convert pd.timestamp to string
ts.date = ts.date.dt.strftime('%Y-%m-%d')
# select required keys
ts = ts[['date','open','high','low','close']]
# convert DataFrame to dictionary
ts = ts.to_dict('list')
Initiate the PointFigureChart object with the prepared data and chart parameter, get the trendlines and print the resulting Point and Figure Chart.
from pypnf import PointFigureChart
pnf = PointFigureChart(ts=ts, method='cl', reversal=3, boxsize=2, scaling='abs', title='AAPL')
pnf.get_trendlines()
print(pnf)
Point & Figure (abs|cl) 2 x 3 | AAPL
-- - - - - - - - - - - - --
90 . . . . . . . . . . X 90
88 . . . . . . . . . . X 88
86 . . . . . . . . . . X 86
84 . . . . . . . . . . X 84
82 . . . . . . . . . . X 82
80 . . . . X . . . . . X 80
78 . . . . X O . . . . X 78
76 . . . . X O . . . . X 76
74 . . . . X O X . . . X 74
72 . . . . X O X O . . X 72
70 . . . . X O X O . . X 70
68 . . . . X O . O X . X 68
66 . . . . X . . O X O X 66
64 . . . . X . . O X O X 64
62 . . . . X . . O . O X 62
60 . . . . X . . . . O X 60
58 * . . . X . . . . O X 58
56 X * . . X . . . . O . 56
54 X O * . X . . . . . . 54
52 X O . * X . . . . . * 52
50 X O X . X . . . . * . 50
48 X O X O X . . . * . . 48
46 X O X O X . . * . . . 46
44 X O X O . . * . . . . 44
42 X O X . . * . . . . . 42
40 X O X . * . . . . . . 40
38 . O X * . . . . . . . 38
36 . O * . . . . . . . . 36
-- - - - - - - - - - - - --
last trendline: bullish support line of length 10
printed 11/11 columns.
Literature
Weber, Zieg (2003) The Complete Guide to Point-and-Figure Charting - The new science of an old art. Harriman House, ISBN: 1-897-5972-82
du Plessis (2012) The Definitive Guide to Point and Figure: A Comprehensive Guide to the Theory and Practical Use of the Point and Figure Charting Method. 2nd Edition. Harriman House, ISBN: 978-0857192455
du Plessis (2015) 21st Century Point and Figure - New and advanced techniques for using Point and Figure charts. Harriman House, ISBN: 978-0857194428
Shah (2018) Trading the Markets the Point & Figure way : become a noiseless trader and achieve consistent success in markets. Notion Press, ISBN: 978-1642492248
Copyright
pyPnF is licensed under a GNU General Public License v2 (GPLv2).Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.