알고리즘 트레이딩에서의 파이썬 - 페이지 15

 

Python을 사용하여 데이터를 Excel로 다운로드, 변환 및 쓰기 || Python을 사용한 주식 분석 6부



Python을 사용하여 데이터를 Excel로 다운로드, 변환 및 쓰기 || Python을 사용한 주식 분석 6부

Python을 사용한 주식 분석 시리즈의 6부에 오신 것을 환영합니다. 비디오 설명에서 이전 5개의 비디오에 대한 링크와 코드가 포함된 GitHub 리포지토리에 대한 링크를 찾을 수 있습니다.

이전 부분에서는 선택한 주식의 종가를 구성하는 다양한 방법을 살펴보았습니다. 이제 6부에서는 데이터를 가져오고 Excel 파일로 작업하는 데 다른 접근 방식을 사용합니다. 최소 하나의 티커를 입력으로 사용하는 "get_return_data"라는 함수를 생성합니다(여러 티커는 쉼표로 구분하거나 Python 컬렉션 개체에 저장할 수 있음). 또한 이 기능을 통해 사용자는 날짜를 지정하고 종가 또는 조정된 종가 중에서 선택할 수 있습니다. 데이터는 Excel 파일에 저장되며 변수에 저장할 수도 있습니다.

시작하려면 API 클라이언트를 설정해야 합니다. 이전과 마찬가지로 "종료일 기록 데이터" API를 사용합니다. "key" 변수를 자신의 API 키로 바꿔야 합니다.

다음으로 다운로드한 데이터를 저장할 임시 DataFrame을 만듭니다. 함수에 전달된 티커를 반복하고 잠재적인 오류를 처리하기 위해 try-except 블록을 사용합니다. 사용자가 조정된 종가 또는 종가를 원하는지 여부에 따라 API 호출 결과의 해당 열을 DataFrame의 티커 열에 추가합니다.

데이터를 다운로드하고 저장하면 원하는 변환을 수행할 수 있습니다. 이 경우 NumPy를 사용하여 순간 수익률을 계산하고 첫 번째 행을 삭제합니다. 또한 기본 제공 방법을 사용하여 일반적인 백분율 변화를 계산합니다.

마지막으로 컨텍스트 관리자 내에서 pandas Excel 쓰기 개체를 사용하여 Excel 파일에 데이터를 씁니다. 이 단계에서는 파일 이름과 선택적 날짜 형식을 제공해야 합니다. 각 변수는 "returns" 파일에 삽입되고 작업 완료를 나타내는 메시지가 인쇄됩니다. 이 함수는 종가를 반환하며 다른 데이터도 반환하도록 확장할 수 있습니다.

4개의 티커로 기능을 테스트하면 다운로드한 데이터가 포함된 생성된 파일을 볼 수 있습니다. 파일을 Excel에서 열어 데이터를 볼 수 있습니다.

이것으로 시리즈의 6부를 마칩니다. 7부에서는 여러 주식의 실적을 단일 수치로 표시하는 방법을 살펴보겠습니다.

Download, Transform and Write Data to Excel with Python || Stock Analysis with Python Part 6
Download, Transform and Write Data to Excel with Python || Stock Analysis with Python Part 6
  • 2022.06.23
  • www.youtube.com
​ @Matt Macarty #dataanalytics #pythonprogramming #stockmarket Python and Excel - Learn how to use Data API to download, transform and export data to...
 

주식 분석을 위한 Python: 여러 증권의 성능 그리드 플로팅 w\matplotlib || 7부



주식 분석을 위한 Python: 여러 증권의 성능 그리드 플로팅 w\matplotlib || 7부

주식 분석을 위한 Python 사용에 대한 제 시리즈의 7부에 오신 것을 환영합니다. 비디오 설명에서 코드가 포함된 GitHub 리포지토리뿐만 아니라 이전 6개의 비디오에 대한 링크를 찾을 수 있습니다.

6부에서는 데이터를 다운로드하고 변환을 수행하여 Excel 파일로 저장하는 기능을 개발했습니다. 이제 7부에서는 여러 주식의 상대적 성과를 단일 그래프에 표시하는 데 중점을 둘 것입니다.

시작하려면 특정 폴더의 모든 파일을 읽습니다. 이 경우 "에너지" 폴더를 살펴보겠습니다. 0으로 시작하는 파일은 건너뜁니다.

matplotlib 라이브러리를 사용하여 서브플롯 개체를 만듭니다. 행당 4개의 그래프를 표시하려고 하므로 행 수는 파일 길이의 상한선을 4로 나눈 값으로 결정됩니다. 잠재적으로 많은 그래프를 수용할 수 있도록 그림을 크게 만들 것입니다.

다음으로 추가된 그래프 수를 추적하고 중첩된 for 루프를 사용하여 그림의 행과 열을 반복합니다. 마지막 행에 도달했는데 꽉 차지 않았다면 카운트를 증가시켜 예외를 처리합니다.

루프 내에서 각 파일의 종가를 읽고 데이터를 상대적 성능으로 변환합니다. 해당 축에 상대적 성능을 플로팅하고 0에 수평선을 추가합니다. 데이터를 백분율 형식으로 지정하기 위해 matplotlib에서 티커 모듈을 가져옵니다.

예외 블록에서는 플로팅할 데이터가 부족하다는 것을 알기 때문에 아무 조치도 취하지 않습니다. 카운트를 전달하고 증가시켜 다음 파일로 이동합니다.

모든 데이터가 표시되면 그래프를 표시합니다.

"에너지" 폴더에 있는 파일로 코드를 테스트하면 약 1년 동안 21개 증권의 상대적 성과를 표시하는 결과 그래프를 볼 수 있습니다.

이것으로 시리즈의 7부를 마칩니다. 다음 동영상에서는 일과 종료 기록 데이터 API의 추가 데이터 컷을 살펴보겠습니다.
Python for Stock Analysis: Plotting Performance Grid of Multiple Securities w\matplotlib || Part 7
Python for Stock Analysis: Plotting Performance Grid of Multiple Securities w\matplotlib || Part 7
  • 2022.06.27
  • www.youtube.com
​ @Matt Macarty #dataanalytics #pythonprogramming #stockmarket ✅ Please SUBSCRIBE:https://www.youtube.com/subscription_center?add_user=mjmacartyVid...
 

수익 또는 배당금을 발표할 주식 목록 다운로드 || Python을 사용한 주식 분석 8부



수익 또는 배당금을 발표할 주식 목록 다운로드 || Python을 사용한 주식 분석 8부

주식 분석을 위해 Python을 사용하는 방법에 대한 제 시리즈의 8부에 오신 것을 환영합니다. 이 동영상에서는 종가 기록 데이터 API에 대해 자세히 알아보고 가격 검색 이외의 추가 기능을 살펴봅니다. API는 포괄적이며 모든 것을 다루지는 않지만 유용할 수 있는 몇 가지 예를 보여드리겠습니다. API에서 제공하는 문서는 광범위하며 다양한 데이터 세트를 탐색하는 데 도움이 될 수 있습니다.

첫째, 이번 주에 보고하는 회사의 수익 데이터를 얻는 데 중점을 둘 것입니다. 시작하려면 API 키를 전달하여 API 클라이언트를 초기화합니다(귀하의 키로 교체). 그런 다음 데이터를 다운로드하여 DataFrame에 저장합니다.

이 작업에 사용할 함수에는 매개변수가 필요하지 않습니다. DataFrame이 있으면 이번 주 수익을 보고하는 회사의 기호를 추출하여 목록에 저장합니다.

미국과 같은 특정 교환에 대한 데이터를 필터링하기 위해 DataFrame의 각 행을 반복하고 기호가 "us"로 끝나는지 확인합니다. 주식 기호는 종가 기록 데이터에서 코드로 지칭되며 기호의 끝은 해당 기호가 속한 거래소에 해당합니다. 교환 정보를 제외하고 관련 기호를 목록에 추가합니다.

모든 행을 반복한 후 이번 주 수익을 보고하는 회사의 수를 인쇄하고 추가 분석을 위해 기호 목록을 반환합니다.

계속해서 특정 권리락일에 대한 배당금을 검색하는 방법을 살펴보겠습니다. 오늘 날짜부터 시작하겠습니다. 기능 설정은 API 클라이언트를 생성하고 데이터를 DataFrame으로 다운로드하는 이전 설정과 유사합니다.

이번에 사용할 함수는 get_bulk_market입니다. 이 기능에서 전체 시장의 종가를 포함하여 다양한 데이터 포인트를 얻을 수 있습니다. 배당금의 경우 관심 있는 데이터를 "배당금"으로 지정합니다.

호출 후 결과 DataFrame을 반환합니다.

이 기능을 테스트하면 오늘 권리락일로 배당금을 검색할 것입니다. 이 코드는 미국 시장과 오늘 날짜의 기본값을 가정하여 배당금을 인쇄합니다.

결과 DataFrame은 각각의 요율로 배당금을 표시합니다. 우리는 미국 시장을 보고 있기 때문에 배당금은 미국 달러가 될 것입니다. 또한 DataFrame은 배당금 지급 빈도에 대한 정보를 제공합니다.

이것으로 8부를 마칩니다. 9부에서는 간단한 스크리너를 구축하여 섹션 1을 마무리합니다.
Download List of Stocks About to Announce Earnings or Dividends || Stock Analysis with Python Part 8
Download List of Stocks About to Announce Earnings or Dividends || Stock Analysis with Python Part 8
  • 2022.07.05
  • www.youtube.com
​ @Matt Macarty #dataanalytics #pythonprogramming #stockmarket Use API to Download List of Stocks that will announce earnings or dividends for a spec...
 

API를 사용하여 주식 스크리너를 만드는 방법 || Python을 사용한 주식 분석 9부



API를 사용하여 주식 스크리너를 만드는 방법 || Python을 사용한 주식 분석 9부

이것은 Python을 사용한 주식 분석 시리즈의 9부입니다. 설명에서 이전 비디오에 대한 링크와 GitHub의 코드를 찾을 수 있습니다.

섹션 1의 마지막 부분에서는 주식 스크리너의 예를 살펴보겠습니다. 목표는 여러 증권의 52주 최고가, 현재가, 주가수익비율을 분석하는 간단한 스크리너를 만드는 것입니다. 이는 추가 분석을 위해 유가 증권을 식별하는 데 도움이 됩니다.

이를 달성하기 위해 하루가 끝나는 과거 데이터 기본 피드를 사용합니다. 이 피드에 대한 호출에서 얻은 데이터를 검토하는 것으로 시작하겠습니다. 클라이언트 개체를 만들고 Apple과 같은 특정 보안에 대한 기본 데이터를 검색합니다. 이렇게 하면 재무, 대차대조표 등을 포함한 다양한 정보가 포함된 대용량 데이터 프레임이 제공됩니다. 인덱스 위치를 사용하여 특정 섹션을 탐색할 수 있습니다.

다음으로 지수의 기술에 초점을 맞추고 종가 기록 데이터 헬퍼 라이브러리와 끝점을 모두 사용하여 가장 최근 날짜의 종가를 대량으로 다운로드합니다. 데이터를 데이터 프레임에 저장하고 인덱스를 재설정합니다. 이 호출은 미국 증권 거래소의 모든 증권에 대한 종가를 가져옵니다. 그런 다음 관심 있는 증권만 포함하도록 데이터를 필터링할 수 있습니다.

주식 스크리너를 구축하기 위해 클라이언트를 만들고 분석하려는 기호를 반복합니다. 각 증권에 대해 52주 최고가로 사전을 채울 것입니다. 보안에 이 정보가 없으면 건너뛰고 루프를 계속합니다.

필요한 데이터를 얻은 후 종가, 52주 최고가를 병합하고 가격 대비 수익 비율을 계산합니다. 유가 증권, 종가, 고가 및 비율을 포함하는 결과 데이터 프레임을 반환합니다.

스크리너를 테스트하기 위해 get_sp 함수를 사용하여 S&P 500에서 기호를 검색하고 결과를 인쇄합니다. 그러면 S&P 500의 처음 10개 증권에 대한 종가, 52주 최고가 및 비율이 표시됩니다.

10부에서는 해당 목적을 위한 클래스 구축을 시작하면서 개별 유가 증권 분석에 대해 자세히 설명합니다. 개인 수준에서 증권을 분석하는 방법에 대해 자세히 알아보려면 다음 부분에 참여하십시오.

How to Create a Stock Screener Using an API || Stock Analysis with Python Part 9
How to Create a Stock Screener Using an API || Stock Analysis with Python Part 9
  • 2022.07.18
  • www.youtube.com
​ @Matt Macarty #dataanalytics #pythonprogramming #stockmarket Use API to create a stock screener✅ Please SUBSCRIBE:https://www.youtube.com/subscri...
 

주식 분석 Python: Python으로 주식을 자동으로 분석하는 방법 || 파트 10



주식 분석 Python: Python으로 주식을 자동으로 분석하는 방법 || 파트 10

이것은 주식 분석을 위한 파이썬 시리즈의 10부가 될 것입니다. 아래 설명에서 이전 비디오에 대한 링크와 모든 코드를 사용할 수 있는 GitHub 리포지토리에 대한 링크를 찾을 수 있습니다. 이 부분에서는 전체 증권 거래소 또는 대규모 주식 기호 목록 대신 개별 증권에 초점을 맞추기 시작합니다.

시작하려면 datetime, matplotlib, numpy, pandas 및 seaborn과 같이 이 부분에 필요한 가져오기를 이미 포함했습니다. 또한 ISO 형식 날짜를 사용하여 사용자가 변경할 수 있는 약 1년 전 날짜를 나타내는 기호 상수를 정의했습니다.

다음으로 개별 증권을 처리할 "Stock"이라는 클래스를 작성하겠습니다. 클래스는 주식 기호, API 키 및 날짜(기본값 포함)에 대한 매개변수로 초기화됩니다. 또한 사용자는 기본값 없음으로 데이터를 저장할 수 있는 폴더를 지정할 수 있습니다.

클래스 내에서 주식 데이터를 가져오는 "get_data"라는 메서드를 정의하겠습니다. 먼저 기호를 사용 가능한 파일과 비교하여 지정된 폴더에서 데이터를 이미 사용할 수 있는지 확인합니다. 데이터가 발견되면 DataFrame으로 읽어들여 표준화합니다. 그렇지 않으면 API를 사용하여 데이터를 가져와 DataFrame으로 반환합니다.

Stock 인스턴스를 초기화하면 기호, API 키, 날짜 및 데이터가 인스턴스 변수로 저장됩니다. 기능을 테스트하기 위해 Stock 개체를 만들고 데이터를 출력하겠습니다.

이것으로 시리즈의 10부를 마칩니다. 11부에서는 Stock 클래스에 더 많은 데이터 변환을 추가합니다.
Stock Analysis Python: How to Automatically Analyze Stocks with Python || Part 10
Stock Analysis Python: How to Automatically Analyze Stocks with Python || Part 10
  • 2022.07.21
  • www.youtube.com
​ @Matt Macarty #dataanalytics #pythonprogramming #stockmarket Create Stock class in Python to automate stock data analysis✅ Please SUBSCRIBE:https...
 

주식 분석을 위한 Python: 자동 계산 및 주식 수익률 및 변동성 그래프 || 파트 11



주식 분석을 위한 Python: 자동 계산 및 주식 수익률 및 변동성 그래프 || 파트 11

주식 분석을 위한 Python 시리즈의 11부에 오신 것을 환영합니다. 아래 설명에서 이전 비디오 및 GitHub 리포지토리에 대한 링크를 찾을 수 있습니다.

10부에서는 주식 기호를 초기화하고 로컬 폴더나 API를 통해 해당 데이터를 가져오는 간단한 클래스를 만들었습니다. 이 파트에서는 데이터 변환에 대해 자세히 알아보고 데이터 플로팅을 시작합니다.

먼저 DataFrame을 입력으로 사용하는 "calculate_volatility"라는 새 메서드를 추가하겠습니다. 이 메서드를 "get_data" 메서드와 통합하기 위해 적절히 수정하겠습니다. "calculate_volatility" 메서드 내에서 DataFrame에 여러 열을 추가합니다. 첫 번째 열은 소수점 이하 네 자리 정밀도로 종가의 로그 차이로 계산된 수익률입니다.

다음으로 21일 동안 수익률의 표준 편차를 나타내는 롤링 변동성을 계산하겠습니다. 결과를 소수점 이하 네 자리로 반올림하겠습니다. 또한 적절한 반올림과 함께 절대 변화, 상한 스프레드 및 예상 변화 열을 포함할 것입니다.

주식 움직임의 크기를 분석하기 위해 실제 변화를 예상 변화로 나눈 "크기"라는 열을 소수점 둘째 자리까지 반올림하여 계산합니다. 마지막으로 잠재적인 그래프 작성 목적을 위해 절대값 열을 포함하겠습니다.

계산 결과 NaN 값이 포함된 초기 행을 삭제한 다음 "get_data" 메서드 내에서 "calculate_volatility" 메서드를 호출합니다.

Stock 인스턴스를 초기화하고 DataFrame을 인쇄하여 코드를 테스트해 보겠습니다.

이제 히스토그램을 만들어 수익 분포를 플로팅해 보겠습니다. 시작 날짜와 종료 날짜를 결정한 다음 20개의 빈과 가장자리 색상으로 히스토그램을 그립니다. 제목을 향상시키기 위해 날짜 범위를 지정하는 두 줄의 부제목을 사용하겠습니다. 마지막으로 줄거리를 보여드리겠습니다.

코드를 실행하고 지난 1년 동안 주식의 수익률 분포에 대한 개요를 제공하는 히스토그램을 살펴보겠습니다.

이것으로 파트 11을 마칩니다. 파트 12에서는 다른 데이터 변환으로 이동하기 전에 추가 플롯 작업을 계속할 것입니다.
Python for Stock Analysis: Automatically Calculate & Graph Stock Returns & Volatility || Part 11
Python for Stock Analysis: Automatically Calculate & Graph Stock Returns & Volatility || Part 11
  • 2022.07.25
  • www.youtube.com
​ @Matt Macarty #dataanalytics #pythonprogramming #stockmarket Use API to create a stock screener✅ Please SUBSCRIBE:https://www.youtube.com/subscri...
 

예상 주식 수익률을 계산하고 정규화하는 방법 || Python 주식 분석 파트 12



예상 주식 수익률을 계산하고 정규화하는 방법 || Python 주식 분석 파트 12

주식 분석을 위한 Python 시리즈의 12부에 오신 것을 환영합니다. 아래 설명에서 다른 비디오에 대한 코드와 링크를 찾을 수 있습니다.

11부에서는 DataFrame에 열을 추가하고 수익 분포를 플로팅하여 Stock 클래스에서 기본 데이터 변환을 수행했습니다. 이 비디오에서는 주식 분석에 유용할 수 있는 더 많은 플로팅 옵션을 계속해서 살펴보겠습니다.

시작하려면 주식의 변동성을 플로팅해 봅시다. 설정은 슈퍼 제목과 시작 및 종료 날짜를 포함하여 이전에 수행한 것과 유사합니다. x축은 수익을 나타내고 y축은 표준 편차 변화의 절대 크기를 나타내는 산점도를 만듭니다. 참조를 위해 수평선과 수직선을 추가합니다.

코드를 실행하고 변동성의 산점도를 살펴보겠습니다. 백분율 변화의 범위와 표준 편차의 수를 관찰할 수 있습니다. 예를 들어, 지난 1년 동안 3.5 표준 편차 이상의 변화가 없었습니다.

다음으로 주식의 성과를 플로팅해 보겠습니다. 다시 말하지만, 대부분의 코드는 동일하게 유지되므로 복사하고 몇 가지 조정할 수 있습니다. 산점도 대신 시간 경과에 따른 상대적 성능을 추적하는 선 도표를 만듭니다. 종가를 첫날 종가로 나누고 1을 빼서 변동률을 구하고 100을 곱한 다음 y축의 백분율 형식을 지정합니다. 참조용으로 수평선을 유지하겠습니다.

코드를 실행하면 주식 실적의 라인 플롯이 표시됩니다. 시작 가격과 비교하여 주어진 기간 동안 주식이 어떻게 진행되었는지 확인할 수 있습니다. 이 경우 긍정적인 추세를 관찰할 수 있으며 최근 몇 개월 동안 감소했습니다.

자유롭게 그림 크기를 사용자 정의하고 필요에 따라 다른 플롯 옵션을 탐색하십시오.

이것으로 파트 12를 마칩니다. 파트 13에서는 추가 데이터 변환에 대해 자세히 살펴보겠습니다.
How to Calculate & Normalize Expected Stock Returns || Python Stock Analysis Part 12
How to Calculate & Normalize Expected Stock Returns || Python Stock Analysis Part 12
  • 2022.07.28
  • www.youtube.com
​ @Matt Macarty #dataanalytics #pythonprogramming #stockmarket Calculate and Normalize Stock Returns ✅ Please SUBSCRIBE:https://www.youtube.com/sub...
 

주식 분석을 위한 Python: 옵션 만료 및 변동성을 기준으로 데이터 필터링 || 파트 13



주식 분석을 위한 Python: 옵션 만료 및 변동성을 기준으로 데이터 필터링 || 파트 13

주식 분석을 위한 Python 시리즈의 13부에 오신 것을 환영합니다. 아래 설명에서 GitHub의 다른 비디오에 대한 코드 및 링크를 찾을 수 있습니다.

12부에서는 주식 분석에 유용할 수 있는 다양한 플롯을 살펴보았습니다. 이 비디오에서는 서로 다른 데이터 조각을 검사하는 몇 가지 메서드를 추가하여 Stock 클래스를 확장합니다.

먼저 옵션이 만료되는 날짜를 식별하는 방법을 작성해 보겠습니다. 매월 셋째 주 금요일입니다. 이 메서드를 "option_expiration"이라고 합니다. 이를 달성하기 위해 NumPy의 np.where 함수를 사용하여 마스크를 생성합니다. 세 가지 조건을 지정합니다. 데이터 인덱스는 14일(가장 빠른 세 번째 금요일)보다 크고, 21일(가장 늦은 세 번째 금요일)보다 작아야 하며 금요일(4번째 요일)에 해당해야 합니다. 이 마스크가 적용된 데이터를 반환하여 만료 금요일만 포함하는 DataFrame이 생성됩니다.

다음으로 마지막 두 표준 편차 이동 이후 낮은 변동성이 지속된 기간을 결정하는 마지막 방법을 작성합니다. 이 방법을 "low_vol_duration"이라고 합니다. 이를 구현하기 위해 "days less than 2 standard deviation"라는 데이터에 열을 추가하고 0으로 초기화합니다. 그런 다음 데이터를 반복하고 각 행의 크기를 확인합니다. 크기가 2보다 작으면 카운트를 증가시키고 "2 표준 편차 미만 일 수" 열에서 해당 행을 업데이트합니다. 크기가 2 이상이면 카운트를 0으로 재설정합니다. 마지막으로 두 개의 표준 편차 이동이 있는 행만 포함하는 DataFrame을 반환하여 각 이동 사이의 일 수를 표시합니다.

코드를 실행하고 결과를 살펴보겠습니다. 매월 15일과 21일 사이에 옵션 만기일을 볼 수 있습니다. 또한 이전 두 번의 표준 편차 이동 이후 일 수를 나타내는 낮은 변동성 기간이 있습니다. 예를 들어, 약 1년 전에 이전 두 번의 표준 편차 이동 이후 이틀이 지났고 32, 41 등의 기간이 뒤따랐습니다.

이것으로 파트 13을 마무리하고 섹션 2를 마칩니다. 필요에 따라 Stock 클래스를 계속 개발하고 확장할 것을 권장합니다. 14부에서는 함수를 pip를 사용하여 설치할 수 있는 Python 패키지로 패키징하는 방법을 살펴봅니다.
Python for Stock Analysis: Filter Data by Option Expiration and Volatility || Part 13
Python for Stock Analysis: Filter Data by Option Expiration and Volatility || Part 13
  • 2022.08.15
  • www.youtube.com
​ @Matt Macarty #dataanalytics #pythonprogramming #stockmarket Calculate and Normalize Stock Returns ✅ Please SUBSCRIBE:https://www.youtube.com/sub...
 

Python 주식 분석: VS Code에서 Pip을 사용하여 나만의 사용자 정의 Python 패키지 생성 및 게시


Python 주식 분석: VS Code에서 Pip을 사용하여 나만의 사용자 정의 Python 패키지 생성 및 게시

이 비디오에서는 Python 코드를 pip를 사용하여 설치할 수 있는 라이브러리로 패키징하는 과정을 안내합니다. 이것은 데이터 검색, 데이터 변환, 시각화 및 데이터 스크리닝과 같은 주제를 다룬 주식 분석을 위한 Python에 대한 제 시리즈의 마지막 비디오입니다. 아래 설명에서 이전 비디오에 대한 링크와 GitHub 리포지토리에 대한 링크를 찾을 수 있습니다.

코드 패키징의 목표는 특정 Python 프로젝트에서 코드를 보다 편리하게 사용하고 재사용할 수 있도록 만드는 것입니다. 코드를 PyPI(Python Package Index)에 게시하는 것처럼 프로세스를 시연하지만 코드가 PyPI에 즉시 준비되지 않을 수 있다는 점에 유의해야 합니다. 프로세스를 이해하기 위해 먼저 설정하고 로컬로 설치합니다. 그러나 나중에 코드를 수정하고 더 많은 청중과 공유하고 싶은 것을 만들 수 있습니다.

패키징 프로세스는 프로젝트의 복잡성에 따라 달라질 수 있습니다. 우리의 경우 코드가 두 개의 모듈로 구성되어 있기 때문에 프로세스가 비교적 간단합니다. 단계에 대한 개요는 다음과 같습니다.

  1. 소스 코드 및 기타 파일을 저장할 상위 폴더를 만듭니다.
  2. 상위 폴더 내에 "source" 폴더와 "tests" 폴더를 만듭니다. 원본 폴더에는 설치 시 실제 패키지가 포함됩니다.
  3. 이전 세그먼트의 두 코드 파일을 소스 폴더에 복사합니다.
  4. 모듈을 가져올 수 있도록 소스 폴더에 이중 밑줄 " init .py" 파일을 만듭니다.
  5. 코드를 보호하고 법적 위험을 최소화하기 위해 라이선스 파일을 만듭니다.
  6. README 파일을 추가하여 설명서를 제공하고 GitHub 또는 PyPI에서 홈페이지 역할을 합니다.
  7. Python이 코드와 상호 작용하는 방식을 정의하는 구성 파일을 만듭니다.
    • 빌드 시스템용 "pyproject.toml" 파일을 만들고 종속성을 지정합니다.
    • 프로젝트에 대한 메타데이터(이름, 버전, 설명, 라이선스 등)를 제공하고 패키지 종속성을 지정하는 "setup.cfg" 파일을 만듭니다.

폴더와 구성 파일을 설정했으면 pip를 사용하여 라이브러리를 로컬로 설치할 수 있습니다. 명령줄을 열고 상위 폴더로 이동한 다음 "pip install ." 명령을 실행합니다. 이렇게 하면 라이브러리가 설치되어 모든 Python 환경에서 액세스할 수 있습니다.

설치 후 Python을 시작하고 "analyze" 모듈을 가져와서 라이브러리를 테스트할 수 있습니다. "도움말" 기능을 사용하여 패키지에 대한 메타데이터를 볼 수도 있습니다.

패키징 프로세스는 시간이 지남에 따라 발전할 수 있으며 설치를 위해 코드를 패키징하는 방법에는 여러 가지가 있습니다. 여기에 설명된 단계는 시작점이며 프로젝트가 더 복잡해짐에 따라 추가 옵션을 탐색할 수 있습니다.

이 튜토리얼이 자신만의 Python 패키지를 만드는 데 도움이 되기를 바랍니다.

Python Stock Analysis: Create & Publish Your Own Custom Python Packages with Pip in VS Code
Python Stock Analysis: Create & Publish Your Own Custom Python Packages with Pip in VS Code
  • 2022.11.13
  • www.youtube.com
​ @Matt Macarty #python #trading #algotrading ✅ Please SUBSCRIBE:https://www.youtube.com/subscription_center?add_user=mjmacarty✅ Visit Lumiwealth ...
 

Python을 사용하는 Interactive Broker와 백테스팅 및 실시간 거래.


Python을 사용하는 Interactive Broker와 백테스팅 및 실시간 거래.

Julio 박사는 알고리즘 거래와 그 이점에 대한 소개로 세션을 시작합니다. 그는 알고리즘 거래를 통해 거래자가 시장을 지속적으로 모니터링해야 하는 부담을 줄이고 인적 오류를 최소화하며 다른 활동을 위한 더 많은 자유 시간을 만들 수 있다고 설명합니다. 그는 브로커, 인터넷, 프로그램 및 컴퓨터인 알고리즘 거래의 네 가지 주요 구성 요소를 강조합니다.

그런 다음 초점은 미국에서 가장 큰 전자 거래 플랫폼으로 도입된 Interactive Brokers(IB)로 이동합니다. Julio 박사는 IB가 트레이더가 프로그램을 사용하여 거래할 수 있도록 하는 고급 API 기술을 제공하여 경쟁력 있는 가격과 글로벌 시장에 대한 접근성을 제공한다고 설명합니다. 그는 Python 프로그램을 사용하여 IB와 알고리즘 거래를 할 수 있다고 강조합니다.

다음으로 Dr. Julio는 트레이더가 로컬 또는 클라우드 컴퓨터에서 알고리즘 거래 플랫폼을 설정할 수 있도록 하는 Hybrid Fat Pack이라는 Python 소프트웨어를 소개합니다. 그는 인터넷에 정보를 공개하거나 업로드할 필요가 없기 때문에 지적 재산을 보호할 수 있는 이 플랫폼의 주요 이점을 강조합니다. 트레이더는 또한 한 곳에서 백테스팅과 실시간 거래를 수행하고, 여러 계정을 관리하고, TensorFlow 및 Scikit-learn과 같은 다양한 Python 패키지를 사용하여 다양한 브로커와 거래할 수 있습니다. 그는 AI Bridge PI 웹 사이트에서 Hybrid Fat Pack 플랫폼을 다운로드하고 설정하는 방법에 대한 지침을 제공합니다.

계속해서 Julio 박사는 Python을 사용하는 Interactive Brokers와의 백테스팅 및 실시간 거래를 위한 도구를 설정하는 데 필요한 단계를 설명합니다. 그는 사용자에게 Interactive Brokers, IP 공식 터미널 및 Python을 포함하여 필요한 도구를 다운로드하고 저장하도록 조언합니다. 또한 추가 지원을 위해 자습서, 설명서 및 커뮤니티 포럼에 대한 링크를 제공합니다. Julio 박사는 WS(Workstation) 및 IB Gateway를 구성하는 방법과 Anaconda를 사용하여 Python 환경을 여는 방법을 보여줍니다. 그는 Python 코드를 실행하여 설정 프로세스를 보여주고 생산성 향상을 위한 창 구성에 대한 팁을 제공합니다.

연사는 Python과 함께 Interactive Brokers를 사용하는 초기 단계를 설명합니다. 그는 사용자에게 'Romina Eva'라는 파일을 열고 그에 따라 파일에서 업데이트해야 하는 계정 코드를 찾으라고 지시합니다. 연사는 Python 코드를 선택하고 실행하여 거래자를 초기화하고 계정 잔액, 현금 가치, 포트폴리오 가치 및 보류 중인 주문을 표시하는 방법을 보여줍니다. 사용자는 Hybrid Fat Pack을 사용하여 주식, 옵션, 선물, Forex 등 다양한 증권을 거래할 수 있습니다. 화자는 발주된 주문은 조작할 수 없으며 허가증 ID로 나열된다고 언급합니다.

Interactive Brokers에서 실시간 및 과거 가격 데이터를 검색하는 프로세스가 시연됩니다. 특정 코드 라인에 주석을 달거나 주석을 제거함으로써 발표자는 실시간 또는 과거 데이터를 검색하고 사용자에게 친숙한 형식으로 인쇄하는 방법을 보여줍니다. 처음에 실행되는 "초기화" 기능과 기본적으로 2초마다 거래 결정이 내려지고 실행되는 "데이터 처리" 기능을 포함하여 코드 구조와 Python 코드의 세 가지 필수 기능에 대해 설명합니다.

Julio 박사는 Python 및 Interactive Brokers를 사용하여 거래 결정을 내리는 방법을 설명합니다. 사용자는 고정된 일정에 따라 결정을 내리도록 코드를 구성할 수 있습니다(매초, 매시간, 매일 또는 특정 시간). 그는 거래 결정을 내리는 데 중요한 세 가지 기능인 초기화, 데이터 처리 및 주문을 소개합니다. 프로세스를 시연하기 위해 과거 데이터를 가져오고 I Spears ETF의 매도 가격을 인쇄하기 위한 샘플 코드가 제공됩니다. 연사는 Panda의 데이터 프레임을 활용하여 과거 데이터를 검색하고 인쇄하여 Python이 거래 결정에 어떻게 활용될 수 있는지 보여줍니다.

발표자는 글로벌 변수와 실시간 가격을 사용하여 주문하는 방법에 대해 설명하고 주식 매수의 예를 제공합니다. Interactive Brokers는 유가증권 검색, 미국 주요시장, 100달러 이상의 가격 필터 적용, 고양이 스캔 결과 기능을 활용해 관련 정보를 얻는데 사용된다. 계약 식별, 핸들 데이터 또는 예약된 기능을 사용한 거래 결정 빈도, 과거 데이터 요청 및 주문 유형 선택을 포함하여 알고리즘 전략을 구축하는 단계에 대해 설명합니다. 전일 종가를 기준으로 거래 결정을 내리는 일일 종가 회귀 전략의 예가 제시됩니다. 일정 기능은 의사 결정 프로세스 및 후속 작업을 트리거하기 위해 특정 시간에 매일 실행되도록 정의됩니다.

비디오는 파이썬에서 거래 전략의 두 가지 예를 다룹니다. 첫 번째 예는 이틀 연속 종가를 기반으로 한 기본 전략을 보여줍니다. 오늘 종가가 어제보다 높으면 모든 포지션이 매도됩니다. 그렇지 않으면 SPY를 구매합니다. 코드가 설명되어 있고 비교적 간단합니다. 그런 다음 비디오는 백테스팅의 개념을 소개하고 이동 평균 교차 전략의 고급 예를 제시합니다. 과거 데이터에 전략을 적용하고 그 성과를 평가하는 과정에 대해 논의합니다. 이 전략에 대한 코드는 설명되어 있으며 간단합니다. 비디오는 데이터 검색 및 처리, 테스트 결과 분석 및 포트폴리오 값 보기에 대해서도 다룹니다.

Julio 박사는 Python을 사용하는 Interactive Brokers와의 백테스팅 및 실시간 거래 프로세스에 대해 설명합니다. 그는 테스트 목적으로 데이터 처리 기능을 매분 실행하는 기본 모드와 기록 데이터 주입 계획의 중요성에 대해 설명합니다. 그는 코드에 분 단위 및 일별 데이터를 제공하는 방법과 Interactive Brokers를 사용한 백테스팅을 위한 시간 프레임 및 빈도를 지정하는 방법을 자세히 설명합니다. 백테스터를 실행하고, 계정 정보를 검색 및 관리하고, 출력 폴더에서 계정 잔액 및 현금 가치를 확인하는 방법을 보여주는 코드 예제가 시연됩니다.

발표자는 코드 성능을 향상시키기 위해 사용자가 제공한 기록 데이터를 제공하는 이점을 강조합니다. 디버깅을 위해서는 Interactive Brokers의 정확한 시뮬레이션 데이터가 필요하지만 불필요한 정보를 요청하면 시간이 많이 걸릴 수 있습니다. Julio 박사는 과거 데이터의 일부만 제공하거나 코드 성능을 크게 향상시킬 수 있는 무작위 데이터를 사용할 것을 제안합니다. 그는 로컬 CSV 파일에서 기록 데이터를 제공하고, 원하는 시간 범위와 데이터 유형을 지정하고, 사용자 지정 시간 목록과 '렌더링' 데이터 공급자를 사용하여 테스트를 더 빠르고 효율적으로 실행하는 방법을 보여줍니다.

Julio 박사는 알고리즘 트레이딩 전략의 성과를 평가할 때 성과 분석과 그 중요성에 대해 논의합니다. 그는 코드를 테스트하고 개선하기 위한 기록 데이터의 필요성과 성능 분석 차트가 이 프로세스를 지원하기 위해 샤프 비율과 같은 변수를 계산할 수 있는 방법을 설명합니다. 백테스팅 결과에 만족하면 연사는 실제 시장 조건에 대해 전략을 실행하기 위해 종이 계정으로 전환할 것을 조언합니다. 그는 또한 iBridgePy를 사용하여 펀드 매니저에게 중요한 여러 계정을 처리하는 방법을 시연합니다.

Julio 박사는 Hybrid Fat Pack 소프트웨어의 유연성과 사용자 친화적 특성을 강조하여 결론을 내리며 알고리즘 거래를 위한 강력한 도구로 만듭니다.

  • 00:00:00 Dr. Julio가 알고리즘 거래 및 인터랙티브 브로커에 대해 소개하고 "Daily Close Reverse"라는 간단한 거래 전략을 설명합니다. 그는 iBridgePy를 사용한 이 전략의 구현과 Interactive Brokers 또는 기타 데이터 공급자가 제공한 기록 데이터를 사용한 백테스팅에 대해 설명합니다. 백테스팅이 완료되면 잠재적인 결과를 분석하고 전략이 잘 수행되면 iBridgePy를 사용하여 실시간 거래 전략을 구현하고 주문은 마틸로 계정에 배치됩니다. Julio 박사는 이것이 헤지 펀드 매니저에게 필수적인 기능이라고 강조합니다.

  • 00:05:00 발표자는 알고리즘 거래의 이점에 대해 이야기합니다. 여기에는 시장을 지속적으로 관찰해야 하는 부담이 적고 인적 오류가 적으며 자유 시간이 더 많습니다. 알고리즘 거래의 네 가지 주요 구성 요소는 브로커, 인터넷, 프로그램 및 컴퓨터입니다. 연사는 이어서 LLC이자 미국 최대의 전자 거래 플랫폼인 IB(Interactive Brokers)에 대해 논의합니다. IB는 트레이더가 프로그램을 사용하여 거래할 수 있도록 하는 고급 API 기술을 제공하여 경쟁력 있는 가격과 글로벌 시장 접근을 제공합니다. IB와 알고리즘 방식으로 거래하기 위해 거래자는 Python 프로그램을 사용하고 이를 IB에 연결하여 거래를 시작할 수 있습니다.

  • 00:10:00 연사는 거래자가 로컬 또는 클라우드 컴퓨터에 알고 거래 플랫폼을 설정할 수 있는 Python 소프트웨어인 Hybrid Fat Pack을 소개합니다. 이 플랫폼을 사용하는 주요 이점은 거래자가 다른 경쟁자처럼 인터넷에 정보를 공개하거나 업로드할 필요가 없기 때문에 지적 재산을 보호할 수 있다는 것입니다. 또한 트레이더는 한 곳에서 함께 백테스트 및 실시간 거래를 할 수 있고, 여러 계정을 관리하고, TensorFlow 및 Scikit-learn을 포함한 Python 패키지를 사용하여 다양한 브로커와 거래할 수 있습니다. 발표자는 AI Bridge PI 웹 사이트에서 다운로드할 수 있는 플랫폼 설정 방법에 대한 지침도 제공합니다.

  • 00:15:00 연사는 Python을 사용하는 Interactive Brokers와의 백테스팅 및 실시간 거래에 필요한 도구를 설정하는 데 필요한 단계를 설명합니다. 첫 번째 단계는 Interactive Brokers, IP 공식 터미널 및 Python을 포함하여 필요한 도구를 다운로드하고 저장하는 것입니다. 연사는 사용자에게 유용한 정보를 제공하는 자습서, 설명서 및 커뮤니티 포럼에 대한 링크도 제공합니다. 그런 다음 발표자는 Anaconda를 사용하여 Python 환경을 열고 Python 코드를 실행하는 방법을 시연하기 전에 WS 및 IB 게이트웨이를 구성하는 방법에 대한 데모를 제공합니다. 이 섹션은 더 나은 생산성을 위한 창 구성에 대한 팁으로 마무리됩니다.

  • 00:20:00 발표자는 'Romina Eva'라는 파일을 열어 Python과 함께 Interactive Brokers를 사용하는 데 필요한 초기 단계를 설명합니다. 사용자는 자신의 계정 코드를 찾은 다음 자신의 계정을 반영하도록 파일에서 계정 코드를 변경해야 합니다. 발표자는 Python 코드를 선택하고 실행하는 방법을 시연한 다음 트레이더를 초기화하고 계정 잔액, 현금 가치, 포트폴리오 가치 및 보류 중인 주문을 표시하는 방법을 보여줍니다. 사용자는 하이브리드 경로를 사용하여 주식, 옵션, 선물, Forex 및 기타 계약을 거래할 수 있습니다. 사용자가 조작할 수 없는 주문을 하면 허가 ID와 함께 나열됩니다.

  • 00:25:00 발표자는 실시간 및 과거 가격 데이터를 얻기 위해 Python과 Interactive Brokers 간에 브리지를 실행하는 방법을 보여줍니다. 발표자는 특정 코드 라인을 주석 처리하여 실시간 또는 기록 데이터를 검색하고 간단한 방식으로 인쇄하는 방법을 보여줍니다. 이어서 발표자는 코드 실행 시작 시 실행되는 "초기화" 기능과 거래 결정이 내려지고 매 주기마다 실행되는 "데이터 처리" 기능을 포함하여 Python 코드에서 사용되는 코드 구조 및 세 가지 기본 기능에 대해 설명합니다. 기본적으로 2초입니다.

  • 00:30:00 연사는 Python을 사용하여 Interactive Brokers와 거래 결정을 내리는 방법을 설명합니다. 코드를 구성하여 사용자는 고정된 일정을 설정하여 매초, 매시간, 매일 또는 특정 시간에 결정을 내릴 수 있습니다. 또한 연사는 기능 초기화, 데이터 처리 및 주문을 포함하여 거래 결정을 내리는 데 필수적인 세 가지 기본 기능을 소개합니다. 프로세스를 시연하기 위해 발표자는 과거 데이터를 가져오고 I Spears ETF의 매도 가격을 인쇄하는 샘플 코드를 제공합니다. Panda의 데이터 프레임을 사용하여 화자는 과거 데이터를 검색하고 인쇄할 수 있으며 Python을 사용하여 거래 결정을 내리는 방법을 추가로 보여줍니다.

  • 00:35:00 발표자는 전역 변수, 실시간 가격 및 주식 매수 예를 사용하여 주문하는 방법에 대해 설명합니다. 발표자는 또한 Interactive Brokers를 사용하여 증권을 검색하고, 미국 주요 시장 및 $100 이상의 가격과 같은 필터를 추가하고, 고양이 스캔 결과 기능을 사용하여 관련 정보를 얻는 방법을 소개합니다. 그런 다음 계약 식별, 핸들 데이터 또는 예약된 기능을 사용한 거래 결정 빈도, 과거 데이터 요청 및 주문 유형 선택을 포함하는 알고 전략을 구축하는 단계를 설명합니다. 발표자는 전일 종가를 기준으로 거래 결정을 내리는 일일 종가 복귀 전략의 예를 제공합니다. 그는 또한 매일 특정 시간에 실행되는 일정 기능을 정의하여 결정과 조치가 이루어지는 일일 기능을 트리거합니다.

  • 00:40:00 비디오는 Python에서 거래 전략의 두 가지 예를 살펴봅니다. 첫 번째 예는 오늘의 종가가 어제보다 높으면 모든 포지션을 매도하고 그렇지 않으면 SPY를 매수하는 이틀간의 종가를 기반으로 하는 기본 전략을 사용합니다. 그런 다음 코드가 설명되고 매우 간단합니다. 그런 다음 비디오는 백 테스트 개념으로 이동하고 이동 평균 교차 전략의 고급 예를 자세히 설명합니다. 거래 결과를 얼마나 잘 추정하는지 보기 위해 과거 데이터에 전략을 적용하는 과정이 논의됩니다. 이 전략의 코드는 설명되어 있으며 여전히 매우 간단합니다. 비디오는 또한 이 데이터를 검색하고 처리하는 방법과 테스트 결과를 분석하고 포트폴리오 값으로 보는 방법을 설명합니다.

  • 00:45:00 연사는 Python을 사용하는 Interactive Brokers와의 백테스팅 및 실시간 거래 과정에 대해 논의합니다. 그들은 테스트를 위해 매분 핸들 데이터를 실행하는 기본 모드와 기록 데이터 주입 계획의 필요성을 설명하는 것으로 시작합니다. 그런 다음 발표자는 코드에 분 단위 및 일일 데이터를 제공하는 방법을 설명합니다. 또한 Interactive Broker에게 백테스팅을 위한 기간과 빈도를 알려주는 방법도 다룹니다. 연사는 백테스터를 실행하고 계정 정보를 검색 및 관리하는 코드 예제와 계정 잔액 및 현금 가치에 대한 출력 폴더를 확인하는 방법을 시연합니다.

  • 00:50:00 발표자는 코드 성능을 향상시키기 위해 사용자가 기록 데이터를 제공하는 이점에 대해 논의합니다. 연사는 디버깅을 위해 모든 테스트에 대한 IB(Interactive Brokers)의 정확한 시뮬레이션 데이터가 필요하지만 많은 정보를 요청하는 것은 불필요하고 많은 시간을 낭비한다고 설명합니다. 경우에 따라 기록 데이터의 일부만 필요하며 임의의 데이터를 제공하는 것으로 충분할 수 있습니다. 이것은 코드의 성능을 크게 향상시킬 수 있습니다. 연사는 로컬 CSV 파일에서 기록 데이터를 제공하는 방법과 원하는 시간 범위 및 필요한 데이터 유형을 지정하는 방법을 시연합니다. 또한 발표자는 사용자 지정 시간 목록을 지정하고 '렌더링' 데이터 공급자를 사용하여 훨씬 빠르고 효율적으로 테스트를 실행하는 방법을 보여줍니다.

  • 00:55:00 연사는 성과 분석과 이를 사용하여 알고리즘 거래 전략의 성과를 분석하는 방법에 대해 설명합니다. 시작하려면 코드를 테스트하고 개선하기 위해 과거 데이터가 필요하며 발표자는 성능 분석 차트를 사용하여 이 프로세스에 도움이 되는 샤프 비율과 같은 변수를 계산하는 방법을 설명합니다. 백테스트 결과에 만족하면 종이 계정으로 전환하여 실제 시장 조건에 대해 전략을 실행할 수 있습니다. 마지막으로 발표자는 I Bridge PY를 사용하여 펀드 매니저에게 중요한 기능인 다중 계정을 처리하는 방법을 시연합니다. 전반적으로 평균과 소프트웨어는 유연하고 사용하기 쉬우므로 알고리즘 거래를 위한 강력한 도구입니다.
Backtesting and live trading with Interactive Brokers using Python.
Backtesting and live trading with Interactive Brokers using Python.
  • 2019.11.15
  • www.youtube.com
This is your go-to guide to backtesting with Interactive Brokers and going live with your trading strategy. In this session, we have Dr Hui Liu (Faculty, EPA...