Matlab中的时间序列股票数据

时间:2015-11-06 20:23:42

标签: matlab

我是MatLab的初学者,不知道我在做什么。

我有CSV格式的股票数据,如下所示:

+--------+--------+------+------+-----+-------+
| Ticker |  Date  | Open | High | Low | Close |
+--------+--------+------+------+-----+-------+
| APPL   | 25-Oct |   10 |   12 |   9 |    12 |
| XYZ    | 25-Oct |   10 |   12 |   9 |    12 |
| APPL   | 26-Oct |   12 |   15 |  10 |    15 |
+--------+--------+------+------+-----+-------+

每天都有很多股票代码。该文件有很多行,列出了特定证券交易所每张票的每日股票价格。

我的目标是在关闭'关于'做一些有趣的时间序列分析。每个股票代码的价格。

首先制作单个自动收报机的简单图表,或者随着时间推移多个代码将会很棒。

问题:

1。导入数据的最佳方式。
我有一个很长的CSV。但我最糟糕的是哪种导入方法。列向量,数字矩阵,单元阵列或表?

2。我需要为每个自动收报机创建一个时间序列对象,对吗?
怎么会这样呢?我一直在查看本指南,但我不确定如何在文件中定义的时间范围内为每个自动收报机制作一个对象。 http://www.mathworks.com/help/matlab/ref/timeseries-class.html

任何对初学者有益的建议,指针和资源都会受到大量赞赏!

谢谢!

1 个答案:

答案 0 :(得分:0)

有很多方法可以将数据导入MATLAB。在导入数据之前,我会确保数字列仅包含数字数据或MATLAB可以抱怨。我个人偏好顺序中的一些选项:

  1. d = readtable(' mycsvfile.csv'); %将数据放入nice table数据类型。我发现它使代码更具可读性。
  2. d = csvread(' myfile.csv',1,0); %1跳过第一行,这可能是csv文件的标题名称。将所有数据放在矩阵中,您必须跟踪哪个列是什么。
  3. xlsread适合阅读excel文件
  4. 将数据复制并粘贴到工作区中的变量中。执行save blahblah.mat以便以后轻松加载数据。
  5. 我个人不会为金融时间序列对象烦恼。如果您是MATLAB的新手,这只会让您的生活变得复杂。如果使用tableread(即选项1)加载数据,则可以执行以下操作:

    aapl_indicator = strcmp(d.Ticker, 'AAPL');
    

    获取一个向量,指示表中的行是否为AAPL。然后:

    close_price_aapl = d.Close(aapl_indicator);
    

    将为您提供Apple的收盘价格。

    当你开始学习数学时,你想要使用矩阵。