Skip to content

SiHoonChris/CodingPythonProject2_Technical_Indicators

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

CodingPythonProject2 - Technical Indicators (22.08.28 ~ 22.10.10)


실행 결과 (USD/KRW, 2020.01.01~2022.12.30)
graph, USD_KRW

목차

    개발 동기 - 설계 - 후기 - 개선 사항 - 참고


개발 동기

  • 주식 자동매매 프로그램을 만들고 싶었다. 하지만 매수/매도에 대한 나 자신만의 명확한 기준이 없었다. 그래서 그 기준을 확실히 해보고자 이 프로그램을 생각해내게 됐다.
  • 볼린저밴드와 일목균형표를 합쳐 새로운 지표를 구상했다. 이 두 보조지표를 활용한 이유는 내가 평소에 주식투자할 때 자주 사용하던 지표들이기 때문이다.

설계

  • 일목균형표-볼린저밴드 활용
      0) 주가의 추세를 파악한다.
      1) 새롭게 구상된 보조지표는 기준 범위를 표시하는 기둥과 그 안에서 특정 가격을 표시하는 가로선으로 구성된다.
      2-a) 종가 기준 주가가 일목균형표의 구름대를 상향돌파한 시점부터 이후 볼린저밴드의 상단밴드가 A자 모양으로 꺾이는 시점(꺾인 지점)까지가 붉은 색 기둥으로 표시되며, 그 범위 안에서의 최고가가 초록색 가로선으로 표시된다.
      2-b) 기둥 범위 이후의 주가가 (새로운 기둥이 형성되기 전에) 초록색 가로선보다 높아지면 상승추세로 진입했다고 판단한다.
      3-a) 종가 기준 주가가 일목균형표의 구름대를 하향돌파한 시점부터 이후 볼린저밴드의 하단밴드가 V자 모양으로 꺾이는 시점(꺾인 지점)까지가 푸른 색 기둥으로 표시되며, 그 범위 안에서의 최저가가 노란색 가로선으로 표시된다.
      3-b) 기둥 범위 이후의 주가가 (새로운 기둥이 형성되기 전에) 노란색 가로선보다 낮아지면 하향추세로 진입했다고 판단한다.
      4) 참고
    explanation

  • 단순이동평균선-ATR 활용
      1) 현재의 주가가 싼지, 비싼지 체크한다.
      2) 단순이동평균에 변동성을 나타내는 지표인 ATR이 상하로 배치되어, 총 3개의 선(적색 실선, 녹색 점선, 청색 실선)으로 구성된다.
      3-a) 주가가 상단선(적색 실선)보다 높다면, 이는 주가가 평균값에 변동성을 더한 값보다 높다는 것으로, 다시 말해 주가가 평균 주가 대비 비쌈을 의미한다.
      3-b) 주가가 하단선(청색 실선)보다 낮다면, 이는 주가가 평균값에 변동성을 뺀 값보다 낮다는 것으로, 다시 말해 주가가 평균 주가 대비 저렴함을 의미한다.

후기

  1. 이 프로그램을 만들던 과정을 다시 돌이켜 봤을 때, 그 과정이 결코 순탄하지는 않았다. 먼저, 보조지표에 대한 개념이 명확하지 않아서 정확한 구현이 어려웠다. 가령 26일을 후행하는 보조지표를 만든다 하면, 기준일을 포함하여 26일을 계산해야 하는지 아니면 기준일을 제외하고 계산해야 하는지와 같은, 그러한 세부적인 내용들을 확인하기 어려웠기 때문이다.
    또한, 프로그램을 완성했다 판단하고 여러 종목에 대하여 해당 프로그램을 테스트할 때마다, 기둥 내에서 기둥이 형성되는 경우, 기둥의 범위가 겹치는 경우, 기둥이 생겨야 할 지점에 생기지 않는 경우 등 예상치 못한 결과들이 발생했다. 그럴 때마다 생성된 자료들을 하나하나 다 뜯어보며 문제를 해결하곤 했다. 그러다보니 이 프로그램이 내가 제일 애쓰고 공들여서 만든 프로그램이지 않을까 싶다.
  2. 매번 Visual Studio Code만 사용하다가, 이 프로그램을 만들기 위해 Anaconda를 설치하고 Jupyter Notebook을 활용하게 됐다. 코드를 나누어 필요한 부분만 실행할 수 있다는 점이 매우 유용했다.

개선 사항

  1. 해당 프로그램을 사용하기 위해서는 investing.com에서 csv파일을 다운로드해서 xlsx파일로 변환한 후 사용해야 한다. 웹페이지에서 파일을 다운로드하는 과정을 자동화시키거나, csv파일에 대해서도 작동하도록 코드를 수정하거나 하는 등의 개선이 이뤄지면 좋을 것 같다.

참고

  • 11-29-2022부, 별도 관리
  • 현재 Repository에서의 기록
    11-29-2022 / Repository 개설, 커밋
  • 이전 Repository
      - Mercenary_Chris ( https://github.com/SiHoonChris/Mercenary_Chris )
      - Trading_Automation ( https://github.com/SiHoonChris/Trading_Automation )
  • 내의 Commit 기록들 : Mercenary_Chris
      - BOLLINGER_B.py
      - ICHIMOKU.py   - FX_TRANS.py
      - FX_automation.py
      - Trend_Transition_Indicator_TTI.py
  • 내의 Commit 기록들 : Trading_Automation
      - TradingAutomation.py

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages