A Package for Point and Figure Charting
Project description
A Python Package for Point & Figure Charting
Installation
pip install pypnf
Usage
Quickstart using integrated time-series example
from pypnf import PointFigureChart
from pypnf import dataset
symbol = 'AAPL' # or 'MSFT'
ts = dataset(symbol)
pnf = PointFigureChart(ts=ts, method='cl', reversal=2, boxsize=5, scaling='abs', title=symbol)
print(pnf)
Point & Figure (abs|cl) 5 x 2 | AAPL
--- - - - - - - - ---
135 . . . . . . X 135
130 . . X . . . X 130
125 . . X O . . X 125
120 . . X O X . X 120
115 . . X O X O X 115
110 . . X O . O . 110
105 . . X . . . . 105
100 . . X . . . . 100
95 . . X . . . . 95
90 . . X . . . . 90
85 . . X . . . . 85
80 X . X . . . . 80
75 X O X . . . . 75
70 . O X . . . . 70
65 . O X . . . . 65
60 . O . . . . . 60
--- - - - - - - - ---
printed 7/7 columns.
Plotting Point&Figure Charts
from pypnf import PointFigureChart
from pypnf import dataset
data = dataset('^SPX')
pnf = PointFigureChart(ts=data, method='h/l', reversal=2, boxsize=50, scaling='abs', title='^SPX')
pnf.bollinger(5, 2)
pnf.donchian(8,2)
pnf.psar(0.02, 0.2)
pnf.show()
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='2018-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.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pypnf-0.0.7.tar.gz.
File metadata
- Download URL: pypnf-0.0.7.tar.gz
- Upload date:
- Size: 184.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0086c57cd65b0e6a8cdd5cd0a4fbfeb84c11b1920ff177616cef85949e12623f
|
|
| MD5 |
adcb9edd6700662449b59bfa32cda4ef
|
|
| BLAKE2b-256 |
bc3fb8f9707ec354285fd8faed53ea9b769e654565f3661e4b2f5aedca7a2ab0
|
File details
Details for the file pypnf-0.0.7-py3-none-any.whl.
File metadata
- Download URL: pypnf-0.0.7-py3-none-any.whl
- Upload date:
- Size: 185.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
528b8461c3046d2ad8b01694a320241edaf4d485e61ab33693e7f59d6f87dae7
|
|
| MD5 |
3d206da4f14179a304340d7717bde798
|
|
| BLAKE2b-256 |
0c1a3786659bfbc3cae96c22ce8aba455628117b98cbb09f5ad131a9f8c0a4ff
|