trapy

Open-sourced Technical Indicator library with 120+ indicators, 30+ Financial Numerical Methods, solvers of 21 different differential equations with GPU support and efficient backpropagation with PyTorch; realizations & models for 40+ stochastic processes

https://github.com/nikhil-lalgudi/trapy

Science Score: 31.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (8.4%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

Open-sourced Technical Indicator library with 120+ indicators, 30+ Financial Numerical Methods, solvers of 21 different differential equations with GPU support and efficient backpropagation with PyTorch; realizations & models for 40+ stochastic processes

Basic Info
  • Host: GitHub
  • Owner: nikhil-lalgudi
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 150 KB
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 2 years ago · Last pushed almost 2 years ago
Metadata Files
Readme Contributing License Citation Security

README.md

TraPy

By Nikhil Lalgudi Vaidyanathan

An all-in-one library for any form of technical analysis/advanced statistical methods for the any form of market trading. The original goal is to create an all-in-one library so that I can teach my mom how to use pandas and numpys to trade. This repository is open source and contains most well-known technical indicators for technical analysis of the market.

Core Features

Indicators

  • Graph-trends: Bollinger Bands, Donchian Channels, fractal chaos bands, keltner channels, moving average envelopes, starc bands, price channels, pivot points, rolling pivot points, standard deviation channels, Ichimoku Cloud, Parabolic SAR
  • Moving averages: alma, dema, epma, ema, hilbert transform instantaneous trendline, hull moving average, Kama, lsma, mesa adaptive moving average, mcginley dynamic, modified moving average, running moving average, simple moving average, smoothed moving average, tillson t3 moving average, tema, vwap, vwma, wma, frama, zlema, tema
  • Oscillators: awesome oscillator, cmo, cci, Connors rsi, dpo, kdjindex, RSI, schafftrendcycle, stochasticmomentumindex, stochasticoscillator, stochasticrsi, trix (tripleemaoscillator), ultimateoscillator, williams_r, Elder-Ray Index, RVI
  • Price Characteristics: Average True Range, Balance of Power, Bull-Bear Power, Choppiness Index, Dominant Cycle Periods, Historical Volatility, Hurst Exponent, Momentum Oscillator, Normalized Average True Range, Price Momentum Oscillator, Price Relative Strength, Rate of Change, Rescaled Range Analysis, True Range, True Strength Index, Ulcer Index, Moving Average Crossover (and its plotting function), Commodity Channel Index, Directional Movement Index, Vortex Indicator, Beta Coefficient, Correlation Coefficient, Linear Regression, Mean Absolute Deviation, Mean Absolute Percentage Error, Mean Square Error, R-squared, Standard Deviation, Z-score
  • Transforms: ehlersfishertransform, heikinashi, renko, zigzagindicator. Kagi Charts, Line Break Charts

Stochastic Realizations

Continuous Processes

  • Bessel
  • Brownian Bridge
  • Brownian Excursion
  • Brownian Meander
  • Brownian Motion
  • Cauchy
  • Fractional Brownian Motion
  • Gamma
  • Geometric Brownian Motion
  • Hyperbolic Brownian Motion
  • Inverse Gaussian
  • Lévy Flight
  • Lévy Process
  • Martingale
  • Mixed Poisson
  • Multifractional Brownian Motion
  • Normal Inverse Gaussian
  • Poisson
  • Stable Processes
  • Squared Bessel
  • Variance Gamma
  • Wiener

Diffusion Processes

  • Constant Elasticity Variance
  • Cox Ingersoll Ross
  • Diffusion
  • Extended Vasicek
  • Multifactor Vasicek
  • Vasicek
  • Ornstein Ulhenbeck
  • Mean-Reverting

Discrete Processes

  • Bernoulli
  • Chinese Restaurant
  • Dirichlet
  • Galton-Watson
  • Markov
  • Moran
  • Markov Chain Monte Carlo
  • Random Walk
  • Renewal Process
  • Yule Process

Noise

  • Alpha-Stable Noise
  • Colored Noise
  • Fractional Gaussian
  • Gaussian Noise

Numerical Financial Methods

  • Black Scholes Numerical Methods
  • Monte Carlo Methods
  • Quasi Monte Carlo Methods
  • FFT Methods
  • Mean Variance Optimization
  • Binomial model
  • Finite Difference Methods
  • Pseudo-Random Numbers
  • Kalman Filter
  • Trinomial Methods
  • Non-linear Solvers
  • Linear Programming
  • Unconstrained Optimization

Interactive Indicators

Advanced Statistical Methods

Solvers of different differential equations with GPU support and efficient backpropagation with PyTorch

Delay Differential Equations:

  • Differential algebraic equations (DAEs)

Differential algebraic equations:

  • Delay differential equations (DDEs)

Discrete Equations:

  • Discrete equations (function maps, discrete stochastic (Gillespie/Markov) simulations)

Mixed discrete and continuous equations:

  • Mixed discrete and continuous equations (Hybrid Equations, Jump Diffusions)

Neutral, retarded, and algebraic delay differential equations:

  • Neutral, retarded, and algebraic delay differential equations (NDDEs, RDDEs, and DDAEs)

Ordinary Differential Equations:

  • Ordinary differential equations (ODEs)
  • Split and Partitioned ODEs (Symplectic integrators, IMEX Methods)

Random Differential Equations:

  • Random differential equations (RODEs or RDEs)

Stochastic Differential Equations:

  • (Stochastic) partial differential equations ((S)PDEs) (with both finite difference and finite element methods)
  • Stochastic delay differential equations (SDDEs)
  • Stochastic ordinary differential equations (SODEs or SDEs)
  • Stochastic differential-algebraic equations (SDAEs)
  • Experimental support for stochastic neutral, retarded, and algebraic delay differential equations (SNDDEs, SRDDEs, and SDDAEs)

Integro-Differential Equations:

Include solvers for equations involving both integrals and derivatives.

Fractional Differential Equations:

Support for equations involving fractional derivatives, which are useful in various fields such as viscoelasticity and anomalous diffusion.

Hamiltonian Systems

Specialized solvers for systems governed by Hamiltonian mechanics.

Reaction-Diffusion Systems:

Efficient solvers for modeling chemical reactions and biological processes.

Getting Started

Prerequisites

Make sure you have at least Python 3.6 installed, along with the following packages: - numpy - pandas - matplotlib

You can install the required packages using the following command: bash pip install numpy pandas matplotlib

Installation

To get started, clone the repository using the following command: bash git clone https://github.com/nikhil-lalgudi/TraPy.git

Contributing

We welcome contributions from the community! If you would like to contribute, please follow these steps: 1. Fork the repository. 2. Create a new branch (git checkout -b feature-branch). 3. Make your changes and commit them (git commit -m 'Add new feature'). 4. Push to the branch (git push origin feature-branch). 5. Create a pull request.

Feedback and Ideas

We'd love to hear from you! If you have any feedback, new ideas, or just want to discuss the project, feel free to reach out to us at nikhillv@umich.edu.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Owner

  • Login: nikhil-lalgudi
  • Kind: user

Citation (CITATION.bib)

@article{DifferentialEquations.jl-2017,
 author = {Rackauckas, Christopher and Nie, Qing},
 doi = {10.5334/jors.151},
 journal = {The Journal of Open Research Software},
 keywords = {Applied Mathematics},
 note = {Exported from https://app.dimensions.ai on 2019/05/05},
 number = {1},
 pages = {},
 title = {DifferentialEquations.jl – A Performant and Feature-Rich Ecosystem for Solving Differential Equations in Julia},
 url = {https://app.dimensions.ai/details/publication/pub.1085583166 and http://openresearchsoftware.metajnl.com/articles/10.5334/jors.151/galley/245/download/},
 volume = {5},
 year = {2017}
}
# stochastic
__title__ = "stochastic"
__description__ = "Stochastic process realizations."
__url__ = "https://github.com/crflynn/stochastic"
__version__ = "0.7.0"
__author__ = "Christopher Flynn"
__author_email__ = "crf204@gmail.com"
__license__ = "MIT"
__copyright__ = "Copyright 2018-2020 Christopher Flynn"
__docs_copyright__ = "2018-2020 Christopher Flynn"
@article{li2020scalable,
  title={Scalable gradients for stochastic differential equations},
  author={Li, Xuechen and Wong, Ting-Kam Leonard and Chen, Ricky T. Q. and Duvenaud, David},
  journal={International Conference on Artificial Intelligence and Statistics},
  year={2020}
}

GitHub Events

Total
Last Year

Dependencies

Dockerfile docker
pyproject.toml pypi
setup.py pypi
  • matplotlib >=3.3.0
  • numpy >=1.19
  • scipy >=1.5
  • torch >=1.6.0