Package: pypnf
A Python Package for Point & Figure ChartingInstallationpipinstallpypnfUsageQuickstart using integrated time-series examplefrompypnfimportPointFigureChartfrompypnfimportdatasetsymbol='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 ChartsfrompypnfimportPointFigureChartfromtestdataimportdatasetdata=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 yfinanceIf the yfinance and/or pandas package is not yet installed use:pipinstallpandaspipinstallyfinanceIn order to process the downloaded data with the PointFigureChart-class the time-series data needs to be  prepared.importyfinanceasyfsymbol='AAPL'data=yf.Ticker(symbol)ts=data.history(start='2018-01-01',end='2018-06-30')# reset indexts.reset_index(level=0,inplace=True)# convert pd.timestamp to stringts['Date']=ts['Date'].dt.strftime('%Y-%m-%d')# select required keysts=ts[['Date','Open','High','Low','Close']]# convert DataFrame to dictionaryts=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.frompypnfimportPointFigureChartpnf=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.LiteratureWeber, Zieg (2003)The Complete Guide to Point-and-Figure Charting - The new science of an old art.Harriman House, ISBN: 1-897-5972-82du 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-0857192455du Plessis (2015)21st Century Point and Figure - New and advanced techniques for using Point and Figure charts.Harriman House, ISBN: 978-0857194428Shah (2018)Trading the Markets the Point & Figure way : become a noiseless trader and achieve consistent success in markets.Notion Press, ISBN:  978-1642492248CopyrightpyPnF is licensed under a GNU General Public License v2 (GPLv2).