smart-money-concepts
Discover our Python package designed for algorithmic trading. It brings ICT's smart money concepts to Python, offering a range of indicators for your algorithmic trading strategies.
시스템 구조
저장소별 전략/실행 조건 확인 필요
주문 실행은 사용자가 별도 통합/설정
에디터 요약저장소 설명과 공개 메타데이터 기준으로 Python 기반 구현, 암호화폐 거래 봇, 거래소 API/프레임워크, 기술적 분석 성격의 프로젝트로 파악했습니다. 확인 근거는 README, 저장소 토픽, 저장소 설명, GitHub 지표, 파이프라인 필드이며, 주요 데이터는 암호화폐 거래소 시장 데이터, OHLCV/호가/체결 데이터입니다. 전략/실행 조건은 저장소별 문서와 코드 확인이 필요하며, 실행 방식은 "주문 실행은 사용자가 별도 통합/설정"라고 보수적으로 기록했습니다. GitHub 지표는 별 1845개, 포크 795개입니다.
| 저장소 | joshyattridge/smart-money-concepts |
|---|---|
| 제작자 | joshyattridge |
| 스타 / 포크 | ★ 1845 / 795 |
| 라이선스 | MIT |
| 최근 업데이트 | 2026-04-03 |
| 스냅샷 시점 | 2026-07-08 (아래 README는 이 시점의 사본입니다) |
아래는 제3자가 작성·공개한 오픈소스 코드입니다. QuantField는 해당 코드의 동작과 안전성을 보증하지 않으며, 설치·실행 전 코드를 직접 검토하시기 바랍니다.
README
Smart Money Concepts (smc)
The Smart Money Concepts Python Indicator is a sophisticated financial tool developed for traders and investors to gain insights into market sentiment, trends, and potential reversals. This indicator is inspired by Inner Circle Trader (ICT) concepts like Order blocks, Liquidity, Fair Value Gap, Swing Highs and Lows, Break of Structure, Change of Character, and more. Please Take a look and contribute to the project.
Installation
pip install smartmoneyconcepts
Usage
from smartmoneyconcepts import smc
Prepare data to use with smc:
smc expects properly formated ohlc DataFrame, with column names in lowercase: ["open", "high", "low", "close"] and ["volume"] for indicators that expect ohlcv input.
Indicators
Fair Value Gap (FVG)
smc.fvg(ohlc, join_consecutive=False)
A fair value gap is when the previous high is lower than the next low if the current candle is bullish. Or when the previous low is higher than the next high if the current candle is bearish.
parameters: join_consecutive: bool - if there are multiple FVG in a row then they will be merged into one using the highest top and the lowest bottom
returns: FVG = 1 if bullish fair value gap, -1 if bearish fair value gap Top = the top of the fair value gap Bottom = the bottom of the fair value gap MitigatedIndex = the index of the candle that mitigated the fair value gap
Swing Highs and Lows
smc.swing_highs_lows(ohlc, swing_length = 50)
A swing high is when the current high is the highest high out of the swing_length amount of candles before and after. A swing low is when the current low is the lowest low out of the swing_length amount of candles before and after.
parameters: swing_length: int - the amount of candles to look back and forward to determine the swing high or low
returns: HighLow = 1 if swing high, -1 if swing low Level = the level of the swing high or low
Break of Structure (BOS) & Change of Character (CHoCH)
smc.bos_choch(ohlc, swing_highs_lows, close_break = True)
These are both indications of market structure changing
parameters: swing_highs_lows: DataFrame - provide the dataframe from the swing_highs_lows function close_break: bool - if True then the break of structure will be mitigated based on the close of the candle otherwise it will be the high/low.
returns: BOS = 1 if bullish break of structure, -1 if bearish break of structure CHOCH = 1 if bullish change of character, -1 if bearish change of character Level = the level of the break of structure or change of character BrokenIndex = the index of the candle that broke the level