用Python快速分析和预测股票价格

1 前言

某天,我的一个朋友告诉我说,实现经济自由的关键是股票投资。虽然这是市场繁荣时期的真理,但如今业余交易股票仍然是一个有吸引力的选择。由于在线交易平台的便利性,涌现了许多自主价值投资者或家庭主妇交易员。甚至还有一些成功的故事和广告吹嘘有“快速致富计划”学习如何投资回报率高达 40% 甚至更高的股票。投资已成为当今职场人士的福音。

现在的问题是:哪些股票?如何分析股票?与其他股票相比,所选股票的回报和风险是什么?

本文的目标是让你了解使用快速简单的 Python 代码分析股票的一种方法。只需花 12 分钟阅读这篇文章——最好自己完成一下。然后你就可以快速浏览到你的第一份金融分析报告。

为了开始学习和分析股票,我们将从快速查看历史股票价格开始。这将通过从 Pandas 网络数据阅读器和雅虎财经中提取最新的股票数据来实现。然后,我们将尝试通过探索性分析,如相关性热图、Matplotlib 可视化以及使用线性分析和k最近邻(K Nearest Neighbor,KNN)的预测分析来查看数据。

2 加载雅虎财经数据集

Pandas 网络数据阅读器 (Pandas web data reader)是 Pandas 库的一个扩展,用于与大多数最新的金融数据进行通信,包括雅虎财经、谷歌财经、Enigma 等资源。

我们将使用以下代码提取 Apple 的股票价格:

import pandas as pd
import datetime
import pandas_datareader.data as web
from pandas import Series, DataFrame
 
start = datetime.datetime(2010, 1, 1)
 
end = datetime.datetime(2017, 1, 11)
 
df = web.DataReader("AAPL", 'yahoo', start, end)
 
df.tail()
进python群:835017344,获取python学习资料

来源于雅虎财经的股票价格

这段代码将提取从 2010 年 1 月到 2017 年 1 月的 7 年的数据。你可以根据需要调整开始和结束日期。接下来的分析过程,我们将使用收盘价格,即股票在一天交易结束时的最终价格。

3 探索股票的移动平均值和收益率

在这个分析中,我们使用两个关键的测量指标来分析股票:移动平均值和回报率。

3.1 移动平均值:确定趋势

滚动平均 / 移动平均(MA)通过不断更新平均价格来平滑价格数据,有助于降低价格表中的“噪音”。此外,该移动平均线可能充当“阻力”,代表着股票的下跌和上升趋势,你可以从中预期它的未来趋势,不太可能偏离阻力点。

让我们开始写代码来得到滚动平均值:

close_px = df['Adj Close']
 
mavg = close_px.rolling(window=100).mean()

最后 10 个移动平均值

这将计算股票收盘价最后 100 个滑窗(100天)的移动平均值,并取每个滑窗的移动平均值。正如你所看到的,移动平均线在滑窗上稳步上升,并不遵循股票价格曲线的锯齿线。为了更好地理解,让我们用 Matplotlib 来绘制它。我们将用移动平均线来绘制股票价格表。

%matplotlib inline
import matplotlib.pyplot as plt
from matplotlib import style
 
# Adjusting the size of matplotlib
 
import matplotlib as mpl
mpl.rc('figure', figsize=(8, 7))
 
mpl.__version__
 
# Adjusting the style of matplotlib
 
style.use('ggplot')
 
close_px.plot(label='AAPL')
 
mavg.plot(label='mavg')
 
plt.legend()
进python群&#x
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值