Python peut-il être utilisé pour négocier des actions ?

爱喝马黛茶的安东尼
Libérer: 2019-06-18 17:53:48
original
7874 Les gens l'ont consulté

Python est un langage largement utilisé dans divers secteurs, notamment l'informatique, la biologie et la finance. On peut dire que python peut tout faire sauf ne pas avoir d'enfants. Cet article utilisera Python pour jouer avec les données boursières et vous permettra de voir la puissance de Python.

Python peut-il être utilisé pour négocier des actions ?

Outils utilisés

python3.6Juypter notebook (IDE interactif, recommandé) numpy, pandas pour l'analyse des données matplotlib, seaborn pour les données visualisation pandas_datareader pour obtenir des données boursières

Acquisition de données

Nous pouvons obtenir des données boursières à partir de pandas_datareader. Vous devez d'abord installer cette bibliothèque

Recommandations associées : "Tutoriel vidéo Python"

pip install pandas
pip install pandas-datareader
Copier après la connexion

Ensuite, vous pouvez accéder aux données

from pandas_datareader.data import DataReader
datas = DataReader(name='BABA', data_source='yahoo', start='2015-01-01', end='2018-01-01')
Copier après la connexion

Ici, je Enregistrez d'abord les données sous forme de fichier CSV, examinons d'abord les données boursières d'Alibaba des années précédentes.

import pandas as pd 
file = 'BABA.csv'   #csv文件index = 'Date'      #将日期作为索引列alibaba = pd.read_csv(file, index_col=index)    #读取csv文件数据
Copier après la connexion

Ensuite, nous vérifions simplement les données boursières d'Alibaba

alibaba.head(n = 5)  #查看前5行数据
Copier après la connexion

Voici les 5 premières lignes de données boursières. Nous pouvons voir le cours d'ouverture, le cours de clôture, la valeur la plus élevée et la valeur la plus basse de chaque jour. . valeur, volume des échanges, etc.

Python peut-il être utilisé pour négocier des actions ?

Regardez ensuite la description des données pour avoir une idée intuitive des données.

alibaba.describe()
Copier après la connexion

Ceci est une analyse des statistiques des données. Vous pouvez voir qu'il y a un total de 789 lignes de données, et les valeurs les plus élevées et les plus basses ne sont pas très différentes.

Python peut-il être utilisé pour négocier des actions ?

Analyse des tendances historiques

Avant l'analyse, nous importons d'abord la bibliothèque de calcul scientifique Python requise.

# 数据分析
import numpy as np
import pandas as pd
from pandas import Series, DataFrame# 可视化
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
Copier après la connexion

Nous analysons dans un premier temps la tendance globale du cours de clôture du titre.

alibaba['Adj Close'].plot(legend = True)
plt.title('Alibaba Adj Close')
plt.ylim([50,200])
plt.xlabel('Date')
plt.ylabel('Price')
Copier après la connexion

On peut voir que bien qu'il y ait de petites fluctuations au milieu, la tendance générale du cours de clôture est à la hausse, ce qui montre que la valeur marchande d'Alibaba a augmenté.

Python peut-il être utilisé pour négocier des actions ?

Jetons ensuite un coup d'œil au taux de rendement quotidien des actions d'Alibaba. Après tout, gagner de l'argent en bourse repose principalement sur les gains obtenus en achetant à bas prix et en vendant à un prix élevé. .

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')
Copier après la connexion

Le taux de rendement quotidien n'est pas stable, ce qui prouve que le marché boursier est risqué et doit être traité avec prudence.

Python peut-il être utilisé pour négocier des actions ?

Conseil pratique : La fonction pct_change() compare chaque élément à son élément précédent et calcule le pourcentage de variation. Par défaut, pct_change() opère sur les colonnes ; si vous souhaitez l'appliquer sur les lignes, utilisez le paramètre axis = 1.

Utilisons des graphiques de densité et des histogrammes pour vérifier la situation globale des rendements quotidiens.

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])
Copier après la connexion

Nous pouvons voir sur l'image que le taux de rendement global est fondamentalement stable à environ 0 et que le profit ou la perte est symétrique.

Python peut-il être utilisé pour négocier des actions ?

Analyse des risques

Dans l'analyse des risques, nous comparons plusieurs grandes entreprises du secteur Internet pour voir à quoi ressemblent leurs actions Quelle est la différence ? Les cinq entreprises que j'ai choisies ici sont Apple, Google, Amazon, Microsoft et Facebook, et la période s'étend de 2015 à 2017. (Vous pouvez également l'obtenir à partir du lien précédent dans Baidu Netdisk.)

Lisez le fichier top5.csv pour obtenir les données, triez-les par heure et affichez-les.

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)
Copier après la connexion

Les données ici font référence au cours de clôture de l'action, qui sont les 5 premières données.

Python peut-il être utilisé pour négocier des actions ?

Tout d’abord, comparons de manière exhaustive ces 5 entreprises pour voir qui est la plus puissante.

top_tech_df.plot(kind = 'line')      #折线图plt.title('five company adj close picture')
plt.xlabel('Date')
plt.ylabel('price')
plt.legend()     #添加图例
Copier après la connexion

Vous pouvez voir que les cours de clôture de Google et d'Amazon sont toujours plus élevés que ceux des trois autres sociétés, et ces deux sociétés semblent être quelque peu liées. Si vous montez, je monterai, et. si tu descends, je descendrai.

Python peut-il être utilisé pour négocier des actions ?

Dans l'image ci-dessus, nous pouvons voir que les trois autres sociétés semblent se développer régulièrement. En fait, en raison de la grande échelle de l'image, elle est relativement plate. . La situation réelle est en fait l'une après l'autre, et il y a aussi de grands changements, consultez-la ci-dessous.

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()
Copier après la connexion

Python peut-il être utilisé pour négocier des actions ?

De ce qui précède, nous avons appris qu'il existe une certaine similitude dans les changements de prix de clôture de Google et d'Amazon. Jetons un coup d'œil aux rendements quotidiens.

sns.jointplot("AMZN",'FB',top_tech_dr,kind='scatter',color = 'red',size=8)
plt.title('joint with AMZN and FB')
Copier après la connexion

Les rendements de Google et d'Amazon semblent également positivement corrélés, ce qui peut servir de facteur de référence pour prédire l'évolution de ces deux valeurs.

Python peut-il être utilisé pour négocier des actions ?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal