git clone https://github.com/cristian-bicheru/fast-ta.git && cd fast-ta && git submodule update --init
python3.x setup.py build_ext --inplace
OR using CMake
mkdir test_build && cd test_build
cmake -D<arch>=1 ..
make -j
``
For debugging purposes, you can use `cmake -DCMAKE_BUILD_TYPE=Debug -D<arch>=1 ..` (where `<arch>` is either SSE2, SSE41, AVX, AVX2, or AVX512, or you can omit the `-D<arch>=1` entirely for a SIMD-free build.)
NOTE: without `-DCMAKE_BUILD_TYPE=Debug` the compiler may introduce SIMD optimizations.
Building with MSVC:
```bash
mkdir test_build && cd test_build
cmake ..
msbuild fast-ta.sln
NOTE: This requires msbuild to be in PATH, also make sure the selected Python distribution was installed with debug binaries. If not, re-run the installer and tick the option.
To run CI tests:
./test.sh
All of these must pass for any code to be added to the repo.
For general, eyeball testing you can generate plots of the indicators with this script.
python3.x tests/tests.py --show-plots --save-plots
REQUIRES: ta
python3.x benchmarks/<indicator>.py
OUTPUTS: SVG plotting times speedup
https://docs.python.org/3/c-api/index.html
https://docs.scipy.org/doc/numpy/reference/c-api.html
https://db.in.tum.de/~finis/x86-intrin-cheatsheet-v2.1.pdf