본문 바로가기
728x90

Python15

python, 데이터프레임() - 열 추출 데이터프레임 사용하다보면, 사용에 필요한 열만 싹~ 모아서 정리한번 하고 싶을때가 있는데,,, 필요한 열만 추출하는 방법을 알아보자. 금현물 데이터를 사용하겠다. 파일에서 데이터를 읽으면, 일자/종가/거래량/거래대금 이라는 열이 있는데, 이중에서 종가/거래량만을 추출하는 것을 해보자. 아마도 방법은 몇가지 있을 텐데, 내가 익숙한 방법을 소개한다. 코드 보자. concat이라면 명령을 사용하고 있다. 사실 열을 합친다는 의미인건데, 그렇게 합쳐서 새로운 df2를 만들고 있다. axis=1 이라는 옵션이 열에 대한 처리를 수행하라 라는 의미 되시겠다. df2=pd.concat~~~ 이 아니고 df=pd.concat~~~ 이라고 했다면, df는 종가/거래량을 갖는 데이터프레임으로 변경된다. 2022. 7. 25.
python, 주식(보조지표) - MFI 구하기 거래량을 반영하는 보조지표중에 MFI를 알아보자 MFI란, Money Flow Index 라고 한다. 뭔가 플로우~ 가 나온다. ㅎㅎ 자세한건, 아래참고, https://www.investopedia.com/terms/m/mfi.asp Money Flow Index - MFI Definition and Uses The Money Flow Index (MFI) is a trading tool that incorporates volume and price data. It can be used to generate trade signals based on overbought and oversold levels as well as divergences. www.investopedia.com 위키디피아, 나무위키.. 2022. 7. 3.
python, 주식(보조지표) -볼린저밴드 구하기 이른바 채널전략에 사용되는 여러채널들, 엔빌로프 밴드(채널), 켈트너 밴드(채널) 등 각종 밴드가 등장하는데, 그 중에서 볼린저밴드 라는 것을 알아보자. 개요는 주가가 정규분포를 따른다는 가정하에 표준편차를 사용하여 채널을 구성한다 필요한 것은, 자세한 것은 아래 참고 하자. 볼린저 밴드 - 나무위키 (namu.wiki) 볼린저 밴드 - 나무위키 미국의 재무분석가 존 볼린저 (John A. Bollinger, 1950년 5월 27일 ~ ) 가 1980년대에 개발한 기술적 분석도구이며, 2011년 상표권을 취득하여 정식으로 인정받았다. 20일 이동평균선을 기준으로 주가가 어 namu.wiki 파이썬으로 구현해 보자 사용데이터는 "삼성전기" 2015년~2019년의 자료이다. 소스코드 코드설명 65 행 : 데.. 2022. 7. 3.
python, 주식(보조지표) - 이동평균 구하기 너무도 기본적인 이동평균, '이평' 이라고도 부른다. 파이썬으로 구하는 방법을 알아보자. 이론적인 내용은, 아래 참고 이동평균선 - 나무위키 (namu.wiki) 이동평균선 - 나무위키 이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권 namu.wiki 파이썬으로 구하는 방법을 알아보자. 사용데이터는 아래와 같다. (삼성전기) 코드를 살펴보자 64행 : 엑셀파일을 데이터프레임으로 읽어들인다. 67행 : 구하고자 하는 이평의 기간을 설정한다. 여기서는 3일 이평선을 가정하였다. 이평을 구하게 되면, 값이 구해지지 않고 NaN으로 남게되는 구간이 생.. 2022. 6. 26.
python, 숫자에 3자리 콤마 넣기 숫자가 커지면 한눈에 보기 어려운 점이 있다. 에 대한 개선방법, 3자리 콤마 구분기호 넣기를 해보자. 환경:주피터노트북 읽기 어려운 상황을 살펴보자 (예1) 자리수가 나란히 있다는 걸 알 수 있는 정도, 한번에 읽어지지 않음 특히 이런 걸 여러개, 그리고 자주 봐야 한다면... 더욱 읽기 좋도록 해두고 싶어진다. 다음, 3자리 콤마 구분기호 넣어보자 (예2) 그나마 읽기 편해졌다. 3자리 구분기호를 넣은 것인데, 방법을 아래에 소개한다. format() 문을 사용함. (예1)의 경우는 2행을 사용했고 (예2)의 경우는 3을 사용했다. 이렇게 출력된 데이터프레임은 주피터노트북에서 드래그해서 엑셀에 넣고 바로 사용할 수 있는데, 복사+붙여넣기 작업으로 가능함. 테스트를 위해서 C1부터 C3까지 합산해보자 .. 2022. 6. 13.
python, 수행 시간 측정 내가 만든 프로그램, 로직 등 수행 시간 시간측정해보고 싶을때 있는데, 간단히 사용가능한 방법을 소개한다. 2행에서 시작시간을 기록해두고 9행에서 종료시간을 기록해 두고 10행에 종료-시작 을 계산하면, 수행시간을 알 수있다. 결과는, 약 1.5초가 소요되었나 보다. import datetime start = datetime.datetime.now() j=0 for i in range(5000000): j=j+i print(j) end = datetime.datetime.now() print('>running time=', end-start) 2022. 5. 11.
728x90