Technical charts with signals
Project description
techsig
- Package to get technical indicators for given market data based on which Bull and Bear signals are generated.
- This enables a non finance background person get the insights of the stock market technicalities in an understandable language.
- Function to get the market data is also provided.
- Plot are provided for all the techncial indicators which can help analyse the data better.
Note -
All investments, financial opinions expressed by techsig are from personal research and experience of the authors and are intended as educational material.
Author -
- Aayush Talekar
- Saloni Jaitly
How to import the package-
from techsig.techsig import *
Function description
get_data(ticker, start_date, end_date):
Import daily market data
:param ticker: ticker name according to National Stock Exchange :param start_date: format 'yyyy-mm-dd'
:param end_date: format 'yyyy-mm-dd'
:return: pandas.DataFrame() : OHCLV data on a daily frequency
moving_average(df, exponential=False, simple=False, plot=False, signal=False):
Calculate simple and exponential moving average (ma) for given data
:param df: pandas.DataFrame() :market data downloaded from get_data()
:param exponential: Boolean: if True, exponential ma is displayed :param simple: Boolean: if True, simple ma is displayed
:param plot: Boolean: if True, closing price with ma is plotted :param signal: Boolean: if True, bullish/bearish signals are returned
:return: pandas.DataFrame() : moving average of 5 days, 10 days, 20 days, 50 days, 100 days and 200 days
MACD(df, a=12, b=26, c=9, signal=False, plot=False):
Calculate moving average convergence divergence (MACD) for given data
:param df: pandas.DataFrame() :market data downloaded from get_data()
:param a: number of periods for moving average fast line: default = 12
:param b: number of periods for moving average slow line: default = 26
:param c: number of periods for macd signal line: default = 9
:param plot: Boolean: if True, closing price with MACD is plotted
:param signal: Boolean: if True, bullish/bearish signals are returned
:return: pandas.DataFrame() : MA_Fast, MA_Slow, MACD, Signal and Positions are returned
RSI (df, time_window=14, signal=False, plot=False):
Calculate relative strength index (RSI) for given data
:param df: pandas.DataFrame() :market data downloaded from get_data()
:param time_window: number of periods for RSI : default = 14
:param plot: Boolean: if True, closing price with RSI is plotted
:param signal: Boolean: if True, bullish/bearish signals are returned
:return: pandas.DataFrame() : RSI and Position is returned
IchimokuCloud(df, plot=False):
Calculate Ichimoku Clouds for given data
:param df: pandas.DataFrame() :market data downloaded from get_data()
:param plot: Boolean: if True, closing price with Ichimoku Clouds are plotted
:return: pandas.DataFrame(): Conv_line, Base_line, Lead_span_A, Lead_span_B and Lagging span
ADX(df, trend=False, plot=False):
Calculate average directional index for given data
:param df: pandas.DataFrame() :market data downloaded from get_data()
:param trend: Boolean: if True, strength of the trend is returned :param plot: Boolean: if True, closing price with ADX is plotted :return: pandas.DataFrame(): ADX, Positive Directional Index and Negative Directional Index
ATR(DF,n=14, plot=False):
Calculate average true range (ATR) for given data
:param DF: pandas.DataFrame() :market data downloaded from get_data()
:param n: number of periods for ATR: default = 14
:param plot: Boolean: if True, closing price with ATR is plotted
:return: pandas.DataFrame(): ATR
stochastic_oscillator(df, signal=False, plot=False):
Calculate stochastic oscillator %K and %D for given data.
:param df: pandas.DataFrame() :market data downloaded from get_data()
:param plot: Boolean: if True, closing price with stochastic oscillator is plotted
:param signal: Boolean: if True, bullish/bearish signals are returned
:return: pandas.DataFrame(): %K and %D values
OBV(DF, plot=False, signal=False):
Calculate on balance volume (OBV) for given data
:param DF: pandas.DataFrame() :market data downloaded from get_data()
:param plot: Boolean: if True, closing price with OBV is plotted
:param signal: Boolean: if True, bullish/bearish signals are returned
:return: pandas.DataFrame(): %K and %D values
ppsr(df):
Calculate Pivot Points, Supports and Resistances for given data
:param df: pandas.DataFrame() :market data downloaded from get_data()
:return: pandas.DataFrame() : Pivot Points, Resistances and Supports
semideviation(df):
Calculate semi deviation for given close price
:param df: pandas.DataFrame(): close price of data
:return: float: value of semi deviation
meandeviation(df):
Calculate mean deviation for given close price
:param df: pandas.DataFrame(): close price of data
:return: float: value of mean deviation
standard_deviation(df, n=21):
Calculate standard Deviation for given data.
:param df: pandas.DataFrame(): close price of data
:param n: number of periods: default = 21
:return: pandas.DataFrame(): moving standard deviations
TSI(df, r=25, s=13, c=9, signal=False, plot=False):
Calculate True Strength Index (TSI) for given data.
:param df: pandas.DataFrame(): market data downloaded from get_data()
:param r: time period for EMA_Fast: default = 25
:param s: time period for EMA_SLow: default = 13
:param c: time period for Signal Line: default = 9
:param plot: Boolean: if True, closing price with TSI is plotted
:param signal: Boolean: if True, bullish/bearish signals are returned
:return: pandas.DataFrame(): Price Change(pc), Price Change Smoothed(pcs), Price Change Double Smooth(pcds), Absolute Price Change(apc),
Absolute Price Change Smoothed(apcs), Absolute Price Change Double Smooth(apcds), TSI and Signal
MFI(df, n=14, signal = False, plot=False):
Calculate Money Flow Index(MFI) for given data.
:param df: pandas.DataFrame(): market data downloaded from get_data()
:param n: number of periods for MFI: default = 14
:param plot: Boolean: if True, closing price with MFI is plotted
:param signal: Boolean: if True, bullish/bearish signals are returned
:return: pandas.DataFrame(): Typical Price, Money Flow, MFI
summ(data):
Calculate the summary of the latest date
:param df: pandas.DataFrame(): market data downloaded from get_data()
:return: pandas.DataFrame(): Three dataframes are returned viz. Moving Average, Technical Indicators and Pivot Points
sentiment_signal(data):
Analysing the overall sentiment based on techncial indicators
:param df: pandas.DataFrame(): market data downloaded from get_data()
:return: pandas.DataFrame(): bull/bear/neutral signal of the technical indicator
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
techsig-1.0.4.tar.gz
(11.1 kB
view details)
Built Distribution
techsig-1.0.4-py3-none-any.whl
(10.5 kB
view details)
File details
Details for the file techsig-1.0.4.tar.gz
.
File metadata
- Download URL: techsig-1.0.4.tar.gz
- Upload date:
- Size: 11.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.9.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 628beb7dec78c77b9c759e10cf8d50ccb238cda954622df7cad72fa2b251ecfd |
|
MD5 | e23a8b74e5540190c836b0d008d396eb |
|
BLAKE2b-256 | f66b2230289d2253c5ccb175d3b2507f2c7377adf4e28b57558becaf3d76b3a9 |
File details
Details for the file techsig-1.0.4-py3-none-any.whl
.
File metadata
- Download URL: techsig-1.0.4-py3-none-any.whl
- Upload date:
- Size: 10.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.9.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 16f15acdbab0dd27f764e72cebda7dc4da24a29dd0031dfd356adabdc886d298 |
|
MD5 | b253a83060c4752ae4f2721eba9ae182 |
|
BLAKE2b-256 | b46a8fc1966b2a128874b1c8868ad386869e8e09460b122680688b35975a7b20 |