분류 전체보기104 이동평균선의 피크(고점)와 트로프(저점)를 처리하는 아이디어 안녕하세요. 인천고래입니다. 주가의 고점이 아닌 이동평균선의 피크와 트로프 지점을 찾는 알고리즘을 만들었지만 아무래도 명확하게 표현하기 어렵다 보니 여러 가지 고민이 많습니다. 일단은 아이디어 단계로 피크와 트로프를 어떻게 처리할지에 대한 글을 적어 놓겠습니다. 동일한 기간 내에 가까운 위치에 있는 피크(고점)와 트로프(저점)를 처리하는 방법에 대한 몇 가지 아이디어는 다음과 같습니다. 이동평균선의 피크(고점)와 트로프(저점)를 처리하는 아이디어 임계값 기반 필터링: 가까운 위치에 있는 피크 또는 트로프 중 더 중요한 것을 선택하는 방법입니다. 예를 들어, 같은 기간 내에 두 개의 피크가 있으면, 더 높은 피크를 선택하거나, 두 개의 트로프 중 더 낮은 트로프를 선택합니다. 이를 위해 prominence.. 분할매수에 대한 테스팅 안녕하세요. 인천고래입니다. 이번 글에서는 분할 매수를 진행함에 있어서 상승장과 하락장 일 때 분할매수를 어떤 방식으로 해야할지에 대한 결과(?)를 얻어 보도록 하겠습니다. 우선 말씀 드릴 사항이 있는데 실제 주가는 상승과 하락을 반복합니다.그래서 단순 하락장과 단순 상승장의 데이터를 가지고 테스트 하였음을 알려드립니다. 아래는 관련 코드입니다.''''''import yfinance as yfimport numpy as npimport matplotlib.pyplot as plt# 주가 데이터 다운로드 함수def download_stock_data(ticker, start_date, end_date): stock_data = yf.download(ticker, start=start_date, end.. data-* : HTML5에서 도입된 사용자 정의 데이터 속성 안녕하세요. 인천고래입니다. HTML 작업을 하다 보면 하나의 페이지에 수많은 화면이 표현되다 보니 자연스럽게 HTML코드 및 스타일 & 자바스크립트까지 포함되어 코드량이 자연스럽게 늘어나서 차후에 수정할 일이 생겨서 찾으려 하면 시간이 오래 걸리는 비효율적인 상황들이 발생됩니다. 이런 경우에는 외부 파일로 만들어 놓고 필요할 때에만 불러오는 형식으로 만들어두면 수정할 사항이 발생될 경우 외부 파일 내의 코드만 살펴보면 일이 쉽게 풀리기도 합니다. 이렇게 모듈화(Modularization) 또는 컴포넌트 기반 개발(Component-Based Development) 을 하게 되면 코드의 재사용성을 높이고, 유지 관리를 용이하게 하며, 대규모 애플리케이션의 개발 및 관리를 효과적으로 할 수 있도록 돕습니다.. Python 모듈의 버전을 확인하는 방법 안녕하세요. 인천고래입니다. 파이참의 터미널에서 Python 모듈의 버전을 확인하는 방법은 약 4가지 정도가 있으며 이 글의 마지막에는 확인된 버전으로 모듈의 버전을 업데이트(상위버전 혹은 하위버전)하는 방법에 대해 알아보도록 하겠습니다.※ pip 명령은 파이참 터미널에서 사용하는 코드입니다. Python 모듈의 버전을 확인하는 방법1. pip show 사용pip show 명령을 사용하여 특정 패키지의 정보를 확인할 수 있습니다.pip show flask-socketio 이 명령을 실행하면 현재 flask-socketio 모듈의 버전과 함께 의존성 정보 등을 확인할 수 있습니다.(py37_32) C:\Users\SH_PER2\PycharmProjects\bot\ChatGPT>pip show flask-s.. 비동기식 프로그래밍을 위한 async/await, asyncio 사용법 안녕하세요. 인천고래입니다. 이번 글에서는 비동기식 프로그래밍을 하는데 필요한 async/await 키워드 사용법에 대해 알아보는 시간을 가져보겠습니다. async/await 사용법 async와 await는 Python 3.5 이상에서 비동기 프로그래밍을 구현하기 위해 사용되는 키워드입니다. 이들을 사용하여 I/O 바운드 작업을 효율적으로 처리할 수 있습니다. async async 키워드는 함수 앞에 사용되며, 해당 함수를 '코루틴(coroutine)'으로 만듭니다. 코루틴은 비동기로 실행될 수 있는 함수입니다. async 함수는 호출될 때 실행되지 않고, 대신에 'Future 객체'를 반환합니다. 실제 실행을 위해서는 await, asyncio.run(), event_loop.run_until_comp.. 웹 스크래핑을 통한 비동기 프로그래밍 필요성의 이해 안녕하세요. 인천고래입니다. 이번 글에서는 비동기와 동기식 함수를 만들고 호출하는 방법에 대해 알아보는 시간을 가져보도록 하겠습니다. 프로그래밍을 하다 보면 간단한 데이터를 가져오거나 연산을 하는 경우도 발생이 되고 대용량 데이터를 DB에서 가져오기도 합니다. 그리고 웹 상에서 필요한 데이터를 추출하기도 하죠. 컴퓨터가 고사양이 되다보니 데이터를 연산하는 속도가 빨라지다 보니 결과도 빠르게 나오게 되는데 외부에서 필요한 데이터를 추출하는 과정을 거치는 작업은 네트워크를 거치다 보니 당연히 결과를 얻는데 시간 지연이 발생되게 됩니다. 위의 과정을 아래와 같이 기능별로 항목을 구분하여 함수화 하고 동기식 처리 형태로 코드를 구현해 보도록 하겠습니다. 기능 항목 연산작업 웹 스크래핑 동기식 프로그래밍 파이썬 .. 데이터프레임을 엑셀로 변환시 메모리 에러가 발생하는 이유에 대하여. 안녕하세요. 인천고래입니다. 데이터베이스를 사용하지 않고 시계열 데이터를 엑셀 파일로 관리하는 경우가 있는데요. 예를 들어 통합적인 관리를 하기 위해 개별적인 종목별 주가 데이터가 저장된 엑셀 파일을 모두 로드해서 하나의 데이터프레임에 저장한 뒤 엑셀 파일로 통합하는 경우가 있습니다. 이 때 각 종목의 데이터가 많은 경우 메모리 부족 (MemoryError) 에러가 발생이 될 수 있습니다. 일반적으로 데이터프레임은 메모리에 상주해 있는 데이터이고 엑셀로 저장을 할 때 추가적인 메모리를 사용하지 않아도 될 것 같은데 실제로는 추가적인 메모리를 필요로 함으로써 메모리가 부족한 현상이 발생되게 됩니다. 좀 더 자세히 말씀을 드리자면 데이터프레임을 엑셀 파일로 변환할 때 추가적인 메모리 사용이 발생하는 이유는 .. 32비트 가상환경과 64비트 가상환경 구축 명령어의 차이점에 대하여 안녕하세요. 인천고래입니다. 오늘은 이전 글에서 만들었던 64비트 가상환경과 32비트 가상환경을 만드는 명령어 구문에 대해 알아보고 각각의 차이점에 대해서도 설명을 해 보는 시간을 가져보겠습니다. conda create -n py37_64 python=3.7와 set CONDA_FORCE_32BIT=1 && conda create -n py37_32 python=3.7 명령어는 아나콘다를 이용하여 가상환경을 생성하는 명령어이지만, 각각 64비트와 32비트 환경을 생성하는 데 사용됩니다. 이들 명령어의 주요 차이점을 간단히 설명하겠습니다. 아나콘다에서 64비트 가상환경 만들기 안녕하세요. 인천고래입니다. 아나콘다와 같은 패키지 관리 및 환경 관리 시스템을 사용해서 생성된 환경들은 모두 독립적인 가상환경이라.. 아나콘다에서 32비트 가상환경 만들기 안녕하세요. 인천고래입니다. 이번 글에서는 키움OpenAPI와 연계를 하는 파이썬 자동매매 프로그램을 구동시킬 수 있는 32비트 환경을 구축해 보도록 하겠습니다. (이전 글에서는 아나콘다에서 64비트 가상환경을 만들어 봤었는데요~ 아래 링크 확인해주세요.) 아나콘다에서 64비트 가상환경 만들기 안녕하세요. 인천고래입니다. 아나콘다와 같은 패키지 관리 및 환경 관리 시스템을 사용해서 생성된 환경들은 모두 독립적인 가상환경이라고 할 수 있습니다. 이러한 가상환경은 실제 시스템에 quant.i-whale.com 자 그러면 아나콘다 환경에서 32비트 가상환경을 구축해보겠습니다. 32비트 가상환경을 구축하는 것은 아주 쉽습니다. 1. 아래와 같이 아나콘다 프롬프트(관리자 권한으로 실행 필수)에서 아래와 같은 명령.. 이전 1 2 3 4 5 ··· 12 다음 반응형