提交 64f5283c 编写于 作者: W wizardforcel

股票代码一律写进内联代码中

上级 47062f73
......@@ -76,7 +76,7 @@ np.savetxt("eye.txt", i2))
## 实战时间 – 从 CSV 文件加载
我们如何处理 CSV 文件? 幸运的是,`loadtxt()`函数可以方便地读取 CSV 文件,拆分字段并将数据加载到 NumPy 数组中。 在以下示例中,我们将加载苹果(公司而不是水果)的历史股价数据。 数据为 CSV 格式,是本书代码集的一部分。 第一列包含一个标识股票的符号。 在我们的情况下,它是 AAPL。 第二个是`dd-mm-yyyy`格式的日期。 第三列为空。 然后,依次获得开盘价,最高价,最低价和收盘价。 最后但并非最不重要的是当天的交易量。 这是一行的样子:
我们如何处理 CSV 文件? 幸运的是,`loadtxt()`函数可以方便地读取 CSV 文件,拆分字段并将数据加载到 NumPy 数组中。 在以下示例中,我们将加载苹果(公司而不是水果)的历史股价数据。 数据为 CSV 格式,是本书代码集的一部分。 第一列包含一个标识股票的符号。 在我们的情况下,它是`AAPL`。 第二个是`dd-mm-yyyy`格式的日期。 第三列为空。 然后,依次获得开盘价,最高价,最低价和收盘价。 最后但并非最不重要的是当天的交易量。 这是一行的样子:
```py
AAPL,28-01-2011, ,344.17,344.4,333.53,336.1,21144800
......
......@@ -20,7 +20,7 @@
## 实战时间 – 交易相关货币对
在本节中,我们将使用两个样本数据集,其中包含日末价格数据。 第一家公司是 BHP(BHP),该公司活跃于石油,金属和钻石的开采。 第二个是淡水河谷(VALE),这也是一家金属和采矿公司。 因此,活动有一些重叠,尽管不是 100%。 要评估相关对,请按照下列步骤操作:
在本节中,我们将使用两个样本数据集,其中包含日末价格数据。 第一家公司是必和必拓(`BHP`),该公司活跃于石油,金属和钻石的开采。 第二个是淡水河谷(`VALE`),这也是一家金属和采矿公司。 因此,活动有一些重叠,尽管不是 100%。 要评估相关对,请按照下列步骤操作:
1. 首先,从本章示例代码目录中的 CSV 文件加载数据,特别是两种证券的收盘价,并计算收益。 如果您不记得该怎么做,请参阅第 3 章,“熟悉常用功能”中的示例。
2. 协方差告诉我们两个变量如何一起变化;[无非就是相关性](https://www.khanacademy.org/math/probability/regression/regression-correlation/v/covariance-and-the-regression-line)
......@@ -98,7 +98,7 @@
```
对角线上的值仅是 BHP 和 VALE 与它们自身的相关性,因此等于 1。在任何可能性下,都不会进行任何实际计算。 由于相关性是对称的,因此其他两个值彼此相等,这意味着 BHP 与 VALE 的相关性等于 VALE 与 BHP 的相关性。 似乎这里的相关性不是那么强。
对角线上的值仅是`BHP`和`VALE`与它们自身的相关性,因此等于 1。在任何可能性下,都不会进行任何实际计算。 由于相关性是对称的,因此其他两个值彼此相等,这意味着`BHP`与`VALE`的相关性等于`VALE`与`BHP`的相关性。 似乎这里的相关性不是那么强。
7. 另一个要点是,正在考虑的两只股票是否同步。 如果两只股票的差额是与均值之差的两个标准差,则认为它们不同步。
......@@ -144,7 +144,7 @@
### 刚刚发生了什么?
我们分析了 BHP 和 VALE 收盘价的关系。 确切地说,我们计算了他们的股票收益的相关性。 我们通过 `corrcoef()`函数实现了这一目标。 此外,我们看到了如何计算可以从中得出相关性的协方差矩阵。 另外,我们演示了`diagonal()``trace()`方法,它们分别为我们提供对角线值和矩阵迹线。 有关源代码,请参见本书代码包中的`correlation.py`文件:
我们分析了`BHP``VALE`收盘价的关系。 确切地说,我们计算了他们的股票收益的相关性。 我们通过 `corrcoef()`函数实现了这一目标。 此外,我们看到了如何计算可以从中得出相关性的协方差矩阵。 另外,我们演示了`diagonal()``trace()`方法,它们分别为我们提供对角线值和矩阵迹线。 有关源代码,请参见本书代码包中的`correlation.py`文件:
```py
from __future__ import print_function
......@@ -215,7 +215,7 @@ Q1. 哪个函数返回两个数组的协方差?
NumPy `polyfit()`函数拟合多项式的一组数据点,即使基础函数不是连续的:
1. 继续使用 BHP 和 VALE 的价格数据,查看其收盘价之间的差异,并将其拟合为三次方的多项式:
1. 继续使用`BHP``VALE`的价格数据,查看其收盘价之间的差异,并将其拟合为三次方的多项式:
```py
bhp=np.loadtxt('BHP.csv', delimiter=',', usecols=(6,), unpack=True)
......@@ -245,7 +245,7 @@ NumPy `polyfit()`函数拟合多项式的一组数据点,即使基础函数不
```
3. 理想情况下,BHP 和 VALE 的收盘价之间的差异应尽可能小。 在极端情况下,它有时可能为零。 使用`roots()`函数找出多项式拟合何时达到零:
3. 理想情况下,`BHP``VALE`的收盘价之间的差异应尽可能小。 在极端情况下,它有时可能为零。 使用`roots()`函数找出多项式拟合何时达到零:
```py
print( "Roots", np.roots(poly))
......@@ -633,7 +633,7 @@ print("Average loss %", round(np.mean(losing_trades) * 100, 2))
```
2. 使用具有标准化权重的`convolve()`计算 BHP 和 VALE 报价的股票收益:
2. 使用具有标准化权重的`convolve()`计算`BHP``VALE`报价的股票收益:
```py
bhp = np.loadtxt('BHP.csv', delimiter=',', usecols=(6,), unpack=True)
......@@ -660,7 +660,7 @@ print("Average loss %", round(np.mean(losing_trades) * 100, 2))
![Time for action – smoothing with the hanning() function](img/4154_04_03.jpg)
上图的细线是股票收益,粗线是平滑的结果。 如您所见,这些线交叉了几次。 这些点可能很重要,因为趋势可能在那里更改了 。 或者至少,BHP 与 VALE 的关系可能已更改。 这些拐点可能经常发生,因此我们可能希望展望未来。
上图的细线是股票收益,粗线是平滑的结果。 如您所见,这些线交叉了几次。 这些点可能很重要,因为趋势可能在那里更改了 。 或者至少,`BHP`与`VALE`的关系可能已更改。 这些拐点可能经常发生,因此我们可能希望展望未来。
4. 将平滑步骤的结果拟合为多项式,如下所示:
......
......@@ -26,7 +26,7 @@ NumPy 具有几个数据排序例程:
NumPy `lexsort()`函数返回输入数组元素的索引数组,这些索引对应于按词法对数组进行排序。 我们需要给函数一个数组或排序键元组:
1. 让我们回到第 3 章,“熟悉常用功能”。 在该章中,我们使用了 APL 的股价数据。 我们将加载收盘价和(总是复杂的)日期。 实际上,只为日期创建一个转换器函数:
1. 让我们回到第 3 章,“熟悉常用功能”。 在该章中,我们使用了`AAPL`的股价数据。 我们将加载收盘价和(总是复杂的)日期。 实际上,只为日期创建一个转换器函数:
```py
def datestr2num(s):
......@@ -53,7 +53,7 @@ NumPy `lexsort()`函数返回输入数组元素的索引数组,这些索引对
### 刚刚发生了什么?
我们使用 NumPy `lexsort()`函数按词法对 AAPL 的收盘价进行分类。 该函数返回与数组排序相对应的索引(请参见`lex.py`):
我们使用 NumPy `lexsort()`函数按词法对`AAPL`的收盘价进行分类。 该函数返回与数组排序相对应的索引(请参见`lex.py`):
```py
from __future__ import print_function
......@@ -608,7 +608,7 @@ NumPy `blackman()`函数返回布莱克曼窗口。 唯一参数是输出窗口
## 实战时间 – 使用布莱克曼窗口平滑股票价格
让我们从小型 APL 股价数据文件中平滑收盘价:
让我们从小型`AAPL`股价数据文件中平滑收盘价:
1. 将数据加载到 NumPy 数组中。 调用 NumPy `blackman()`函数形成一个窗口,然后使用该窗口平滑价格信号:
......@@ -629,13 +629,13 @@ NumPy `blackman()`函数返回布莱克曼窗口。 唯一参数是输出窗口
plt.show()
```
使用布莱克曼窗口平滑的 AAPL 收盘价应如下所示:
使用布莱克曼窗口平滑的`AAPL`收盘价应如下所示:
![Time for action – smoothing stock prices with the Blackman window](img/4154_07_03.jpg)
### 刚刚发生了什么?
我们从样本数据文件中绘制了 APL 的收盘价,该价格使用布莱克曼窗口和 NumPy `blackman()`函数进行了平滑处理(请参见`plot_blackman.py`):
我们从样本数据文件中绘制了`AAPL`的收盘价,该价格使用布莱克曼窗口和 NumPy `blackman()`函数进行了平滑处理(请参见`plot_blackman.py`):
```py
import numpy as np
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册