Skip to content

Latest commit

Β 

History

History
120 lines (88 loc) Β· 3.44 KB

File metadata and controls

120 lines (88 loc) Β· 3.44 KB

μžλ™λ§€λ§€ μ „λž΅ μ—”μ§„

μ†Œκ°œ

이 ν”„λ‘œμ νŠΈλŠ” μ‹€μ‹œκ°„ μ‹œμž₯ 데이터λ₯Ό 기반으둜 μ—¬λŸ¬ λ§€λ§€ μ „λž΅μ„ μ‹€ν–‰ν•˜κ³ , 각 μ „λž΅μ˜ 점수λ₯Ό κ°€μ€‘ν‰κ· ν•˜μ—¬ μ΅œμ’… λ§€λ§€ μ‹ ν˜Έλ₯Ό μƒμ„±ν•˜λŠ” μžλ™λ§€λ§€ μ „λž΅ μ—”μ§„μž…λ‹ˆλ‹€.

체결강도, ν˜Έκ°€ λΆˆκ· ν˜•, ν‹± 이동평균, Z-score μ „λž΅μ„ ν™œμš©ν•˜μ—¬ μ‹œμž₯ 상황을 λΆ„μ„ν•˜κ³ , μ΅œμ’…μ μœΌλ‘œ BUY, SELL, HOLD 쀑 ν•˜λ‚˜μ˜ μ‹ ν˜Έλ₯Ό νŒλ‹¨ν•©λ‹ˆλ‹€.

μ£Όμš” κΈ°λŠ₯

  • μ‹€μ‹œκ°„ μ’…λͺ© 데이터 처리
  • 체결강도 기반 λ§€λ§€ μ‹ ν˜Έ 생성
  • ν˜Έκ°€ λΆˆκ· ν˜• 기반 λ§€λ§€ μ‹ ν˜Έ 생성
  • ν‹± 이동평균 기반 μΆ”μ„Έ νŒλ‹¨
  • Z-score 기반 ν‰κ· νšŒκ·€ μ „λž΅ 적용
  • 4κ°€μ§€ μ „λž΅ 점수의 가쀑평균 계산
  • BUY / SELL / HOLD μ΅œμ’… μ‹ ν˜Έ 생성
  • 리슀크 관리 κΈ°λŠ₯을 ν†΅ν•œ λ§€λ§€ 쑰건 검증

μ‚¬μš© 방법

1. ν”„λ‘œμ νŠΈ λ‹€μš΄λ‘œλ“œ

git clone [μ €μž₯μ†Œ URL]

2. ν”„λ‘œμ νŠΈ ν΄λ”λ‘œ 이동

cd [ν”„λ‘œμ νŠΈ 폴더λͺ…]

3. C++ 컴파일 ν™˜κ²½ μ€€λΉ„

C++17 이상을 μ§€μ›ν•˜λŠ” 컴파일러λ₯Ό μ€€λΉ„ν•©λ‹ˆλ‹€.

μ˜ˆμ‹œ:

  • g++
  • clang++
  • Visual Studio C++ Compiler

4. μ†ŒμŠ€ μ½”λ“œ 컴파일

g++ -std=c++17 -o trading_bot \
main.cpp \
StrategyEngine.cpp \
RiskManager.cpp \
JsonUtils.cpp \
ExecutionStrengthStrategy.cpp \
OrderbookImbalanceStrategy.cpp \
TickMAStrategy.cpp \
ZScoreStrategy.cpp

5. μ‹€ν–‰

./trading_bot

μ‹€ν–‰ ν›„ μž…λ ₯λ˜λŠ” μ‹œμž₯ 데이터에 따라 μ „λž΅ 엔진이 λ§€λ§€ μ‹ ν˜Έλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€.

ν”„λ‘œμ νŠΈ ꡬ쑰

.
β”œβ”€β”€ main.cpp
β”œβ”€β”€ StrategyEngine.cpp
β”œβ”€β”€ StrategyEngine.hpp
β”œβ”€β”€ StrategyConfig.hpp
β”œβ”€β”€ SignalResult.hpp
β”œβ”€β”€ SymbolState.hpp
β”œβ”€β”€ RiskManager.cpp
β”œβ”€β”€ RiskManager.hpp
β”œβ”€β”€ JsonUtils.cpp
β”œβ”€β”€ JsonUtils.hpp
β”œβ”€β”€ ExecutionStrengthStrategy.cpp
β”œβ”€β”€ ExecutionStrengthStrategy.hpp
β”œβ”€β”€ OrderbookImbalanceStrategy.cpp
β”œβ”€β”€ OrderbookImbalanceStrategy.hpp
β”œβ”€β”€ TickMAStrategy.cpp
β”œβ”€β”€ TickMAStrategy.hpp
β”œβ”€β”€ ZScoreStrategy.cpp
└── ZScoreStrategy.hpp

μ „λž΅ ν•©μ‚° 방식

λ³Έ ν”„λ‘œμ νŠΈλŠ” μ—¬λŸ¬ μ „λž΅ 쀑 ν•˜λ‚˜λ₯Ό μš°μ„ μˆœμœ„λ‘œ μ„ νƒν•˜λŠ” 방식이 μ•„λ‹ˆλΌ, 각 μ „λž΅μ΄ μƒμ„±ν•œ 점수λ₯Ό κ°€μ€‘ν‰κ· ν•˜μ—¬ μ΅œμ’… λ§€λ§€ μ‹ ν˜Έλ₯Ό κ²°μ •ν•©λ‹ˆλ‹€.

각 μ „λž΅μ€ μ‹œμž₯ 데이터λ₯Ό λΆ„μ„ν•˜μ—¬ κ°œλ³„ scoreλ₯Ό μƒμ„±ν•˜κ³ , StrategyEngine은 μ‹€ν–‰ κ°€λŠ₯ν•œ μ „λž΅λ“€μ˜ score에 weightλ₯Ό κ³±ν•΄ ν•©μ‚°ν•©λ‹ˆλ‹€. 이후 μ‹€ν–‰λœ μ „λž΅λ“€μ˜ 전체 weight둜 λ‚˜λˆ„μ–΄ μ΅œμ’… 점수인 final_scoreλ₯Ό κ³„μ‚°ν•©λ‹ˆλ‹€.

κΈ°λ³Έ μ „λž΅ κ°€μ€‘μΉ˜λŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

μ „λž΅ μ„€λͺ… κ°€μ€‘μΉ˜
Z-score μ „λž΅ ν‰κ· νšŒκ·€ 기반 νŒλ‹¨ 0.25
체결강도 μ „λž΅ 맀수/맀도 체결 강도 뢄석 0.30
ν˜Έκ°€ λΆˆκ· ν˜• μ „λž΅ 맀수/맀도 ν˜Έκ°€ μž”λŸ‰ λΆˆκ· ν˜• 뢄석 0.30
ν‹± 이동평균 μ „λž΅ 단기/μž₯κΈ° ν‹± 평균 기반 μΆ”μ„Έ νŒλ‹¨ 0.15

μ΅œμ’… 점수 기쀀은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

final_score λ²”μœ„ μ΅œμ’… μ‹ ν˜Έ
0.5 이상 BUY
-0.5 μ΄ν•˜ SELL
κ·Έ μ™Έ HOLD

λ”°λΌμ„œ μ΅œμ’… λ§€λ§€ μ‹ ν˜ΈλŠ” 단일 μ „λž΅μ˜ κ²°κ³Όκ°€ μ•„λ‹ˆλΌ, μ—¬λŸ¬ μ „λž΅μ˜ νŒλ‹¨μ„ μ’…ν•©ν•œ κ²°κ³Όμž…λ‹ˆλ‹€.

λΌμ΄μ„ μŠ€

MIT License

λ³Έ ν”„λ‘œμ νŠΈλŠ” MIT λΌμ΄μ„ μŠ€λ₯Ό λ”°λ¦…λ‹ˆλ‹€.
μ†ŒμŠ€μ½”λ“œμ˜ μ‚¬μš©, μˆ˜μ •, 배포가 κ°€λŠ₯ν•˜λ©°, μ‚¬μš©μœΌλ‘œ 인해 λ°œμƒν•˜λŠ” λ¬Έμ œμ— λŒ€ν•΄μ„œλŠ” κ°œλ°œμžκ°€ μ±…μž„μ§€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.