반응형

파이썬 9

중개형ISA 계좌 활용! 컨센서스로 계산한 최고의 배당수익률은?

구슬이 서말이면 꿰어야 보배다. 중개형 ISA 계좌를 개설했으니 가만히 묵혀두기만 하는 것보다는 써먹는 편이 낫다. 아직은 5000만 원을 기준으로 하는 양도소득세가 부과되지 않으니까, 매매차익보다는 배당소득세 측면에서 이득을 노려야 할 것이다. 올해 넣을 수 있는 금액의 절반은 이미 금융주 두 가지를 옮기는 데에 활용됐다. 남은 천만 원의 공간을 활용하려면 역시 고배당주를 찾는 쪽이 유리하지 않을까? 지난 번에 네이버금융에서 배당수익률 상위종목을 조회하는 기능을 제공한다는 걸 소개했었다. 최근에야 발견한 건데, 여기에도 단점이 있다. 배당수익률을 계산할 수정종가는 최신 자료를 적용하지만, 1주당 배당금을 작년 기준으로 대입한다는 점이다. 물론 올해 배당을 얼마나 줄지 알 수 없으니 나름 합리적인 추정인..

갈림길 : 내일의 코로나19 그리고 경제 전망 (feat. GKL 외국인카지노)

원익큐브, 딜리, 엑사이엔씨, 기산텔레콤은(이하 원딜엑기) 코스닥 중소형주들이다. 이 종목들로 수익을 올린 적이 있거나 올리고 있다. 그밖에 공통점이라고 할만한 부분은 모두 목표가가 있었다는 점이다. 이런 종목에 투자하던 시절에는 거시경제나 뉴스에 전혀 신경쓰지 않았다. 그러다가 투자전략의 포트폴리오를 다변화하기 위해 대형주 매매를 연습하기 시작했는데, 특히 경기민감주로 모멘텀 플레이를 하는 도중에는 희한하게도 마음이 편하지가 않았다. 그래서인지 매월 두 차례씩은 반드시 원딜엑기를 검색했던 방식대로 다른 종목을 찾아보곤 하는데, 상승장이라 그런지 1~2월 이후로는 적당한 목표물이 발견되지 않았다. 원딜엑기를 검색하는 과정은 두 단계로 이루어진다. 먼저, 파이썬에서 만들어 둔 함수를 이용해 모든 종목의 차..

개발첫걸음_ 파이썬으로 모든 주식종목 차트 업데이트 하기

상장된 모든 종목의 리스트를 만들었고, 차트 불러오는 함수를 설계했다. 이제 첫 단계에서 남은 마지막 작업은 모든 주식종목의 차트를 차례차례 불러들여 파일로 저장하고 업데이트 하는 코드를 만드는 순서다. 오늘 소개할 함수는 두 가지인데, 하나는 최초로 차트를 저장하는 함수이다. 다른 하나는 시간이 지났을 때 차트를 업데이트 해주는 함수다. def chart_save (tgt) : ''' 최초 : 일봉 차트를 csv파일로 저장, tgt=set_tgt()를 먼저 해줘야 함''' for code in list(tgt['code']): df = gen_raw(code) df.to_csv(저장할 경로 + code + '.csv', sep=',', encoding='utf-8') ### 차트는 일단 저장완료 mar..

파이썬으로 비상장법인 가치평가 퀀트전략 구현하기 feat. 상속세 및 증여세법

2021.05.13 - [투자자/투자전략] - 퀀트전략 : 비상장기업 가치평가 공식 적용하기 feat. 상속세 및 증여세법 상속세 및 증여세법이 제안하는 비상장법인의 가치평가 공식을 모든 주식 종목에 적용해보자. 계산 과정에 차트 정보는 전혀 필요하지 않고 대신 정리된 재무 데이터가 필요하다. 아직 전자공시시스템의 자료가 모두 정리되지 않았기 때문에, 우선은 검색 포털이 제공하는 금융 정보라든가 에프엔가이드의 도움에 의존해야만 한다. import urllib.request from bs4 import BeautifulSoup import pandas as pd import time def value(c) : if c[0] != 'A': return 0 url="http://comp.fnguide.com/..

개발첫걸음_ 파이썬에서 모든 주식의 차트데이터 저장하기

지난 포스팅에서 모든 종목의 이름과 코드를 확보해 저장해 두었다. 이 파일을 데이터프레임으로 불러와서, 코드를 하나하나 인자로 넘기면 그걸 받아 해당하는 차트를 만들어주는 함수를 설계해 보자. 이번에도 완성된 최종 코드부터 적어놓고 설명을 이어나가도록 하겠다. from dateutil.parser import parse as p from pandas import Series, DataFrame import win32com.client import pandas as pd import numpy as np instStockChart = win32com.client.Dispatch('CpSysDib.StockChart') tgt = pd.read_excel(경로+파일이름, engine='openpyxl') d..

개발첫걸음_ 모든 종목의 이름과 종목코드 저장하기

대신증권이 제공하는 API와 파이썬을 이용해서, 내가 가장 먼저 한 일은 상장된 모든 종목의 차트를 저장하는 작업이었다. 클래스와 인스턴스에 대해 이해하지 않고 뛰어들었기 때문에 혼란스러운 과정이기도 했다. 대신증권의 API '싸이보스 플러스'에서는 여러 클래스를 제공하는데, 모두 알 필요는 없다. 이 단계에서 필요한 것만 이용하면 된다. 완성된 코드부터 써놓고, 집중력이 남아있다면 설명을 조금 덧붙일까 한다.import win32com.client import pandas as pd import numpy as np instCpStockCode = win32com.client.Dispatch('CpUtil.CpStockCode') instCpCodeMgr = win32com.client.Dispatch..

파이썬_ numpy array에서 문자열 찾아 바꿔넣기

문자열로 채워진 어떤 표가 있다. 이 행렬의 이름을 A라고 하자. 여기서 특정 단어만을 찾아 원하는 다른 단어로 바꿔넣고 싶다면? 가령, 나는 알파벳 b가 포함된 것들을 찾아 모두 x로 바꾸고 싶다. 이 작업에 성공한다면, 재무제표가 담긴 엑셀 파일을 numpy array로 불러왔을 때 다양하게도 못생긴 단어들을 표준적인 모습으로 한꺼번에 바꿔줄 수 있게 된다. 얼른 생각하면, 반복문을 이용해 노가다를 시키는 방법을 떠올려 볼 수 있다. 노가다가 필요한 표가 하나뿐이면 괜찮을 수 있다. 하지만 엑셀파일 수 만 개를 불러와 그 안의 모든 단어를 돌아다녀야 한다면 얘기가 달라진다. 게다가 파이썬에서 행렬을 다루는 기가 막힌 도구를 제공하니까 굳이 그런 원시성에 향수를 느낄 필요는 없다. 엑셀의 IF 함수에는..

코스피 코스닥 백테스트 프로그램 설계지도

백테스트 프로그램을 하나 만들고 있다. 코린이가 혼자 해내기엔 나름 방대한 프로젝트다. 이미 어느 정도 진행은 이루어졌지만, 가는 동안 방향과 위치를 잃어버리지 않도록... 머리 속에만 잠들어 있던 전체 계획을 글과 그림으로 정리해 두는 게 좋겠다. 이 프로그램의 목적은, 매수조건-매도조건-비중관리 등등의 투자전략을 코스피와 코스닥의 과거 데이터에 대입해 시뮬레이션 해보는 것이다. 그러려면 이 프로그램에는 크게 두 가지 기능이 요구된다. ▲모든 종목의 과거 주가를 보유하고 있으면서, 이 데이터에 대한 기술적 분석을 지원하는 여러 보조지표 함수들이 마련되어야 한다. ▲마찬가지로, 모든 종목의 과거 재무정보도 확보되어야 한다. 차트(chart)와 보조지표 함수들은 코딩이 끝났다. 과거 차트 자료는 증권사에서..

신년벽두 헛짓거리 : 카메라 가격은 각 스펙 가치의 합계일까?

해피 뉴 이어! 신축년 새해가 밝았다. 한 살 더 먹었다. 슬프다. 괜히 생각이 많아진다. 앞으로도 이 블로그에 글감을 계속해서 불어넣을 수 있을까. 그러면서도 한편으로는 감당할 수 없는 변태스러움이 스멀스멀 기어나오기 시작했다. 문득 그런 생각이 들었다. 내가 만일 카메라 브랜드 사장이라면, 어떤 카메라를 디자인할 것인가? 소비자들의 입맛에 딱 맞는 새 제품을 개발하게 된다면, 가격은 어떻게 책정하면 좋을까? 그러다 문득 이런 호기심이 일었다. 혹시 카메라의 가격은 각각의 스펙이 지니는 시장성의 총합이 아닐까? 예를 들어보자. 카메라의 가격이 센서크기와 다이얼 개수에 의해서만 결정된다고 가정하는 것이다. 풀프레임이 APS-C보다는 1.5배 크고 마이크로포서드보다는 2배 크다. 그러니 풀프레임에 6점, ..