The Problem
Algorithmic trading is a jungle, and navigating it without proper tools can feel like using a flip phone in a smartphone world. Traders need a way to analyze market behaviors and sentiment without getting bogged down in the math. Enter smart money concepts, which can help decipher when to enter or exit trades based on market structure.
What This Does
The smart-money-concepts Python package brings ICT's smart money concepts straight to your codebase. The core logic lives in the smartmoneyconcepts/smc.py file, where you’ll find functions for indicators like Fair Value Gaps (FVG) and Swing Highs/Lows.
Installation is as simple as running pip install smartmoneyconcepts. You’ll want to prepare your data in a well-structured pandas DataFrame, specifically formatted with lowercase column names: ["open", "high", "low", "close", "volume"]. The README does a decent job of laying out how to use functions like smc.fvg() and smc.swinghighslows() for analyzing your OHLC data.
The tests are comprehensive, with 16 files in the tests/ directory ensuring your indicators behave as expected. You can even peek at sample data like tests/testdata/EURUSD/boschochresultdata.csv to see how the output should look.
Real-World Use
Imagine you’ve got a DataFrame of EUR/USD price data and want to identify potential entry points. You could do something like this:
By leveraging these functions, you could automate your trading strategy based on market conditions.
The Bottom Line
This package has potential but is still in its infancy—no stars yet, which means you're likely venturing into uncharted waters. If you’re serious about algorithmic trading and want to explore smart money concepts, this could be worth your time, but be prepared for the rough edges. If you enjoy DIY, dive in and contribute; just don’t expect a polished gem right out of the box.