본문 바로가기

코딩 공부37

볼린저 밴드와 현금흐름 지표를 이용해 매수, 매도 타이밍 구하기 이번에는 마리아디비에 저장한 시세 데이터로 매수, 매도 타이밍을 구해보겠습니다. 전략은 볼린저 밴드, 현금흐름지표를 이용하겠습니다. 볼린저밴드의 %B는 가격의 볼린저밴드 속 가격의 상대적 위치를 나타냅니다. 선택한 지표는 간단히 설명하겠습니다. import matplotlib.pyplot as plt import MarketDB2 mk = MarketDB2.MarketDB() df = mk.getDailyPrice('000020', '2019-10-14', '2022-02-25') df['MA20'] = df['close'].rolling(window=20).mean() # rolling 과 window 를 이용하여 몇개의 데이터로 평균을 낼지 정한다. df['stddev'] = df['close'].r.. 2022. 3. 2.
파이썬으로 효율적 투자선 그리기와 최적의 포트폴리오 찾기 이번에는 효율적인 투자선을 그리고, 그 투자선 위의 가장 효율적인 포트폴리오를 찾아보겠습니다. 일단 효율적인 투자선이 무엇인지 알아보겠습니다. 위 사진에 보이는 곡선이 '효율적 투자선'입니다. 그래프의 x, y축은 각각 리스크와 기대 수익률입니다. 이 이론을 창립하신 분은 노벨상을 받았을 정도로 복잡한 이론이지만, 간단히 말하자면 저 효율적 투자선에 가까이에 있는 포트폴리오일수록 리스크 대비 수익률이 좋다는 이론입니다. 이런 방식으로 각 포트폴리오의 리스크와 기대 수익률을 구할 수 있습니다. 계산하기 어렵습니다. '파이썬 증권데이터분석' 책을 참고하여 파이썬을 이용해 정해진 4개의 기업으로 구성된 20000개의 랜덤 자산비율 포트폴리오를 이용하여 최적의 포트폴리오를 그중에서 찾아보겠습니다. import .. 2022. 2. 28.
파이썬 생활 프로그래밍: 파이썬으로 CSV 읽고 쓰기 요즘 파이썬 기본기가 부족한 것 같아 책을 구매해 공부하고있습니다. 이 책이 기본 연습하기에 참 좋습니다. IDLE로 파이썬 실행을 하는데, 제가 연습했던 코드를 어떻게 깃허브에 올려야할지를 모르겠네요. 그것만 해결되면 좋겠습니다. 일단 오늘 하던 코드를 올려보겠습니다. 129p를 진행중이였습니다. CSV파일 속 내용을 파이썬에서 사용 할 수 있게 하는 코드였습니다 일단 엑셀을 켜준 후 3열 2행짜리 표를 하나 만들어줍니다. 파일 이름 뒤에 확장자명을 csv로 지으면 되는데, 저는 그냥 이 방식을 선호합니다. 이제 파이썬에서 읽어봅시다. 저는 IDLE Shell 3.9.10을 이용합니다. >>> import csv, os >>> os.chdir(r'C:\Users\chohjender\Documents').. 2022. 2. 25.
json 파일을 이용해 업데이트 페이지 수 수정하기 이제 곧 이번 장 마지막입니다. 처음 실행되면 종목별로 시세 정보를 100페이지, 그 이후에는 1페이지씩 가져오도록 프로그램 해줍니다. 이번 코드를 실행하면 프로젝트 파일 내에 config.json이라는 파일이 생길텐데 이 파일으리 pages_to_fetch를 바꿔주면 처음 업데이트 이후의 가져오는 페이지 수를 바꿔줄 수 있습니다. 이번에도 코드별 설명은 코드 아래에 첨부하겠습니다. def execute_daily(self): self.update_comp_info() #전에 만든 매소드를 이용해 기업 목록을 DB에 올린다. try: with open('config.json','r') as in_file: #읽기 모드로 프로젝트 파일 내에 config.json파일을 연다. config = json.loa.. 2022. 2. 23.
반응형