Python은 컴퓨터, 생물학, 금융 등 다양한 산업 분야에서 널리 사용되는 언어입니다. 파이썬은 아이를 갖지 않는 것 외에는 모든 것을 할 수 있다고 말할 수 있습니다. 이 기사에서는 Python을 사용하여 주식 데이터를 다루며 Python의 강력한 기능을 보여줍니다.
사용된 도구
python3.6Juypter 노트북(대화형 IDE, 권장) numpy, 데이터 분석을 위한 pandas matplotlib, 데이터 시각화를 위한 seaborn pandas_datareader 주식 데이터 획득
데이터 획득
재고를 얻을 수 있습니다 pandas_datareader의 데이터입니다. 먼저 이 라이브러리를 설치해야 합니다
관련 권장 사항: "python 비디오 튜토리얼"
pip install pandas pip install pandas-datareader
그런 다음 데이터에 액세스할 수 있습니다
from pandas_datareader.data import DataReader datas = DataReader(name='BABA', data_source='yahoo', start='2015-01-01', end='2018-01-01')
여기서 먼저 데이터를 csv 파일로 저장합니다. 먼저 살펴보겠습니다. 처음 몇 년 동안의 Alibaba 주식 데이터입니다.
import pandas as pd file = 'BABA.csv' #csv文件index = 'Date' #将日期作为索引列alibaba = pd.read_csv(file, index_col=index) #读取csv文件数据
그럼 간단히 알리바바의 주식 데이터를 확인해보겠습니다
alibaba.head(n = 5) #查看前5行数据
다음은 주식 데이터의 처음 5줄로 일일 시가, 종가, 최고가, 최저가, 거래량 등을 확인할 수 있습니다.
그런 다음 데이터에 대한 설명을 보고 데이터에 대한 직관적인 느낌을 얻으세요.
alibaba.describe()
데이터 통계를 일부 분석한 결과 총 789행의 데이터가 있고, 최고값과 최저값이 크게 다르지 않은 것을 알 수 있습니다.
역사적 추세 분석
분석에 앞서 먼저 필요한 Python 과학 컴퓨팅 라이브러리를 가져옵니다.
# 数据分析 import numpy as np import pandas as pd from pandas import Series, DataFrame# 可视化 import matplotlib.pyplot as plt import seaborn as sns %matplotlib inline
먼저 주식 종가의 전반적인 추세를 분석합니다.
alibaba['Adj Close'].plot(legend = True) plt.title('Alibaba Adj Close') plt.ylim([50,200]) plt.xlabel('Date') plt.ylabel('Price')
중간에 작은 변동은 있지만 전체적인 종가 추세는 상승세를 보이고 있어 알리바바의 시장 가치가 상승하고 있음을 알 수 있습니다.
그럼 알리바바 주식의 일일 수익률을 살펴보겠습니다. 결국 주식 시장에서 돈을 버는 것은 주로 낮은 가격에 사서 높은 가격에 팔아 얻는 이익에 달려 있습니다.
size = (10,8) alibaba['daily-return'].plot(figsize = size,linestyle = '--',marker = 'o') #折线图,原点表示最大最小点plt.title('Alibaba daily return') plt.xlabel('Date') plt.ylabel('daily return rate')
일일 수익률이 안정적이지 않다는 것은 주식 시장이 위험하고 조심스럽게 다뤄져야 한다는 것을 의미합니다.
실용적인 재미있는 정보: pct_change() 함수는 각 요소를 이전 요소와 비교하고 변화율을 계산합니다. 기본적으로 pct_change()는 열에 대해 작동합니다. 이를 행에 적용하려면 axis = 1 매개변수를 사용하세요.
밀도 그래프와 히스토그램을 활용해 일일 수익률의 전반적인 상황을 확인해 보겠습니다.
data = alibaba['daily-return'].dropna() #清除异常值bins = 50 #分为50个区间#在同一张图上画出分布直方图和密度图sns.distplot(data, bins = bins, color = 'red',hist = True, kde = True) plt.title('Alibaba daily return distribution') plt.xlabel('daily-return') plt.ylabel('probablity') plt.xlim([-0.05,0.1])
그림을 보면 전체적인 수익률은 기본적으로 0 부근에서 안정적이고 손익이 대칭을 이루는 것을 알 수 있습니다.
위험 분석
위험 분석에서는 인터넷 업계의 여러 대기업을 비교하여 주식의 차이를 확인합니다. 여기서 제가 선택한 5개 회사는 Apple, Google, Amazon 및 Microsoft, Facebook입니다. , 2015년부터 2017년까지. (바이두 넷디스크의 이전 링크에서도 얻으실 수 있습니다.)
top5.csv 파일을 읽어서 데이터를 가져와서 시간별로 정렬해서 보시면 됩니다.
file = "top5.csv"index = 'Date'top_tech_df = pd.read_csv(file,index_col = index) #读取数据 top_tech_df=top_tech_df.sort_index() #按索引,也就是时间排序 top_tech_df.head(n = 5)
여기에 있는 데이터는 주식의 종가를 의미하며 처음 5개 데이터입니다.
우선 이 5개 회사를 종합적으로 비교하여 누가 더 강력한지 살펴보겠습니다.
top_tech_df.plot(kind = 'line') #折线图plt.title('five company adj close picture') plt.xlabel('Date') plt.ylabel('price') plt.legend() #添加图例
Google과 Amazon의 종가가 항상 다른 세 회사보다 높은 것을 볼 수 있는데, 이 두 회사는 어느 정도 연관이 있는 것 같습니다. 오르면 나도 올라가고 내리면 나도. 내려갈 것이다.
위 사진을 보면 나머지 3개 회사도 꾸준히 발전하고 있는 모습을 볼 수 있는데, 사실 사진의 규모가 커서 상대적으로 밋밋한 편이지만, 아래에서 확인해 보세요.
another_company = ['AAPL','FB','MSFT'] top_tech_df[another_company].plot() plt.title('another company adj close picture') plt.xlabel('Date') plt.ylabel('price') plt.legend()
위에서 Google과 Amazon의 종가 변동에 일부 유사점이 있음을 알게 되었습니다. 일일 수익률을 살펴보겠습니다.
sns.jointplot("AMZN",'FB',top_tech_dr,kind='scatter',color = 'red',size=8) plt.title('joint with AMZN and FB')
구글과 아마존의 수익률도 양의 상관관계가 있는 것으로 보이며, 이는 이 두 주식의 발전을 예측하는 참고 요인으로 활용될 수 있습니다.
위 내용은 파이썬을 주식 거래에 사용할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!