分类
股票指数及交易指南

常见的金融分析方法

市場先生提示:影響你投資成果的重點 選擇分析方法、操作方式,實際上並不存在標準答案,每種方法都有使用得不錯的人,同時也有成果不佳的人。 我認為這張圖想表達最核心的關鍵,是先從管理最上層的資產配置及分散投資,
接著在依次往下,根據自己的研究程度,做主動投資分析和更詳細的配置,
到最下面才是買賣時機點。 許多人(包含我自己)剛開始學習投資時,會認為重點是找到買賣點,其次是選股,
這樣雖然也可以,但我覺得對個人財務較好的流程順序剛好相反。 先決定資產配置比例以及分散程度,才是對個人來說影響最大的決策,也是對新手來說最好的順序。

五个思路,教你如何建立金融业的数据分析管理模型

Leo.yuan 于 常见的金融分析方法 2019-08-02 09:25:51 发布 8005 收藏 49

首先要搞清楚,金融行业为何在数据应用上落后了?

1、数据资产管理水平仍待提高。主要是数据质量不高、获取方式单一、数据系统分散等。

2、应用技术和业务探索仍需突破。金融机构原有的数据系统架构相对复杂,涉及的系统平台和供应商较多,实现大数据应用的技术改造难度很大。同时,金融行业的大数据分析应用模型仍处于起步阶段,成熟案例和解决方案仍相对较少,需要投入大量的时间和成本进行调研和试错,系统误判率相对较高。

3、是顶层设计和扶持政策还需强化。体现在金融机构间的数据壁垒较为明显,各自为战问题突出,缺乏有效的整合协同。同时,行业应用缺乏整体性规划,分散、临时、应激等特点突出,信息价值开发仍有较大潜力。

常见的金融分析方法

数据分析如何协助股票交易

1. 使用分析工具进行研究

2. 通过预测分析风险评分算法了解风险

3. 使用分析预算工具量入为出

4. 通过机器学习遵循的交易计划

5. 要有耐心

使用大数据保护交易者的优势

分享到微信

分享到微博

【译】Python 金融:算法交易 (2)常见的金融分析方法

天健胡马灵越鸟 于 2019-04-16 16:41:14 发布 2443 收藏 18

现在,你已经了解了所使用的股票数据,什么是时间序列数据,以及如何使用 Pandas 快速探索数据,是时候深入到常见的金融分析中了,以便可以真正开始交易策略的开发。

简单的每日百分比变化不考虑红利和其他因素,而是指在一天的交易中股票价值变化的百分比。每日百分比变化的计算很简单,只需使用 Pandas 包中的 pct_change() 函数。

很好,你知道了如何计算每日百分比变化,但如果想要知道月度或季度的收益率,该怎么办呢?在这种情况下,让我们回顾本教程第一部分中介绍的 resample() 函数。

使用 pct_change() 相当方便,但也让人困惑到底每日的百分比是如何计算的。这也是为什么人们会使用 Pandas 的 shift() 函数来代替 pct_change() 。用 daily_close 除以 daily_close.shift(1) ,然后再减 1 ,就得到了每日百分比变化。然而,使用这一函数会使计算得到的数据框的开头存在缺失值 NA 。

提示:将以下代码的结果和之前计算的每日百分比变化相比较,查看这两种方法的差异。

提示:在IPython控制台中尝试使用 Pandas 的 shift() 函数计算每日对数收益率。(如果你找不到答案,试一下这行代码: daily_log_returns_shift = np.log(daily_close / daily_close.shift(1)) )。

此外,让我们来绘制每日百分比变化 daily_pct_change 常见的金融分析方法 的分布。

以上分布看起来非常对称且像中心在0.00附近的正态分布。尽管如此,你还是需要对 daily_pct_change 使用 describe() 函数,以确保正确解读了直方图。从统计摘要的结果中知道,其均值非常接近0.00,标准差是0.02。同时,查看百分位数,了解有多少数据点落在-0.010672, 0.001677 和 0.014306之间。

累积日收益率有助于定期确定投资价值。可以使用每日百分比变化的数值来计算累积日收益率,只需将其加上 1 并计算累积的乘积。

注意仍旧可以使用 Matplotlib 快速绘制 cum_daily_return 的曲线;只需对其加上 plot() 函数即可,可选择使用参数 figsize 设置图片大小。

非常简单,不是吗?现在,如果你不想使用日回报率,而是用月回报率,那么对 cum_daily_return 使用 resample() 函数就可轻松实现月度水平的统计:

让我们开始吧!首先从雅虎财经中获取更多的数据。通过创建一个 get() 函数可以轻松地实现这一点。该函数将股票代码列表 tickers 以及开始和结束日期作为输入参数。第二个函数 data() 将 ticker 作为输入,用于获取 startdate 和 enddate 日期之间的股票数据并将其返回。将 tickers 列表中的元素通过 map() 函数映射,获取所有股票的数据并将它们合并在一个数据框中。

以下代码获取了 Apple、Microsoft、IBM 和 Google 的股票数据,并将它们合并在一个大的数据框中。

注意这一代码源自 “常见的金融分析方法 Mastering Pandas for Finance” 一书,并且在本教程中根据新的标准进行了升级。还是要注意,因为开发人员仍在研究从雅虎财经API中获取数据的更持久的修复方案,你可能还是需要导入 fix_yahoo_finance 包。可以从此处找到安装说明或者查看这篇教程的Jupyter notebook。

另一类有用的图是散点矩阵图。使用 pandas 库能够轻易实现它。在代码中加入 scatter_matrix() 函数就可以绘制散点矩阵图。将 daily_pct_change 常见的金融分析方法 作为参数传递给该函数,在对角线上使用核密度估计(KDE)做图。另外,使用 alpha 参数设置透明度, figsize 参数设置图片大小。

注意如果你在本地运行代码,可能需要使用 plotting 模块来绘制散点矩阵图(例如 pd.plotting.scatter_matrix() )。而且,最好要知道核密度估计图估算了随机变量的概率密度函数。

在Pandas中有许多函数都可以计算移动窗口,比如 rolling_mean() 、 rolling_std() …… 在这里查看这些函数。

然而,注意这些函数大多数将被弃用,所以最好将 rolling() 函数和 mean() 、 std() …… 结合使用,当然也依赖于实际要计算的移动窗口的种类。

提示:在IPython控制台中尝试Pandas包中其他标准的移动窗口函数,比如 常见的金融分析方法 rolling_max() 、 rolling_var() 或者 rolling_median() 。注意也可以结合使用 rolling() 和 max() 、 var() 或 median() 来得到相同的结果。

当然,你可能没能真正理解这一切。也许使用 Matplotlib 做一幅简单的图,可以帮助你理解移动平均值及其实际的含义:

波动率计算

对数收益率的历史移动标准差,也就是历史移动波动率,可能更令人感兴趣。也可以使用 pd.rolling_std(data, window=x) * math.sqrt(window) 来计算。

注意窗口的大小能够改变整体的结果:如果扩大窗口(也就是让 min_periods 变大),结果将变得不那么有代表性。如果缩小窗口,结果将更接近于标准差。

普通最小二乘回归

要做到这一点,你必须使用 statsmodels 库,它不仅提供了用于估算多种统计模型的类和函数,还能让你进行统计检验以及统计的数据探索。

注意你确实可以使用Pandas实现OLS回归,但是在将来的版本中其 ols 模块将被弃用。所以最明智的做法是使用 statsmodels 包。

注意在合并 AAPL 和 MSFT 收益率数据时,使用了 [1:] 切片,这样就没有缺失值来扰乱你的模型了。

Dep. Variable 指出哪个变量是模型的响应。

Model 是拟合中使用的模型,在本案例中是 OLS 。

另外, Method 指出模型参数是如何被计算的。在本案例中被设置为 Least Squares 。

观测量的数目( No. Observations )。注意你也可以使用Pandas包中的 info() 函数得到它,只要在 IPython 控制台中运行 return_data.info() 。

残差的自由度( DF Residuals )

DF Model 指模型参数的数目,注意它并不包括代码中定义的 X 的常数项。

R-squared 是决定系数。这个分数表明回归线接近真实数据点的程度。在本例中,结果是 0.281,用百分比表示该分数是 28.1% 。当决定系数是 0% 时,表明模型完全不能解释响应数据在其均值附近的变异性。当然,当分数为 100% 时情况恰恰相反。

Adj. R-squared 分数乍看上去和 R-squared 的数值差不多。然而,该度量背后的计算是基于观测量的数目和残差的自由度调整了 R-squared 的值。在本例中这一调整没有起到多少作用,致使两者的结果相近。

Prob (F-statistic) 指得到上述 F-statistic 结果的概率,假设零假设认为它们是无关的。

最后, BIC 或者是贝叶斯信息准则,类似于上述 AIC ,但是它用更多的参数更严格地惩罚模型。

std err 是系数估计的标准误差。

Omnibus 是 Omnibus D’Angostino 检验,它为偏斜和峰度的存在提供了组合的统计检验。

Prob(Omnibus) 将 Omnibus 度量转变成了概率。

其次, Skew 或偏斜,测量数据关于均值的对称性。

Durbin-Watson 是对自相关的存在的检验, Jarque-Bera (JB) 是另一项对偏斜和峰度(kurtosis)的检验。也可以将其结果转换成概率,即为 Prob (JB) 。

新手該如何投資?10個常見投資工具方法分析 教你找出適合自己的投資方法

新手該如何投資?10個常見投資工具方法分析 教你找出適合自己的投資方法

3. 分析總體經濟
總體經濟是透過了解一個地區的經濟成長率、進出口貿易、消費、投資等數據,
去判斷該地區的經濟活動狀況。研究總體經濟的人認為經濟活動是具有循環性的,
因此大部分的國家經濟都可以預測,且經濟數據會影響金融市場的表現。
總體經濟分析著名的代表人物是量子基金創辦人之一喬治‧索羅斯(George Soros),
他被譽為是走在趨勢之前的傳奇投資大師,會從總體經濟的角度依市場狀況判斷投資趨勢。

4. 分析產業/板塊輪動
板塊輪動也是投資學上的一種策略,指的是投資熱點從一個板塊(行業)移動到另外一個板塊(行業)的狀況,
板塊之間的轉換遵循著一定的規律,例如跌久必漲,漲久必跌。

5. 資產配置及分散
資產配置就是把資金投入到不同的資產類別上,例如股票、債券、房地產,
以達成預期的風險跟報酬配置。
資產配置著名的代表人物之一是大衛‧史雲生(David Frederick Swensen),
他自1985年起管理耶魯捐贈基金,使用多樣化的投資組合進行管理,
並讓耶魯捐贈基金有了相當可觀的回報。

簡單來說:
資產配置及分散是透過決定資金放在不同資產類別的比例,去決定風險跟報酬。
總經分析及產業輪動分析是在選擇投資的時機點。
基本面分析及技術面分析則是同時在選擇時間點及選股。

市場先生提示:影響你投資成果的重點

常见的金融分析方法

選擇分析方法、操作方式,實際上並不存在標準答案,每種方法都有使用得不錯的人,同時也有成果不佳的人。

我認為這張圖想表達最核心的關鍵,是先從管理最上層的資產配置及分散投資,
接著在依次往下,根據自己的研究程度,做主動投資分析和更詳細的配置,
到最下面才是買賣時機點。

許多人(包含我自己)剛開始學習投資時,會認為重點是找到買賣點,其次是選股,
這樣雖然也可以,但我覺得對個人財務較好的流程順序剛好相反。

先決定資產配置比例以及分散程度,才是對個人來說影響最大的決策,也是對新手來說最好的順序。

市場先生建議:新手最開始簡單的方法和工具
投資工具【ETF】+方法【資產配置】

  1. 找出多元化的資產類別
  2. 在每個資產類別,選擇最合適及具代表性的ETF
  3. 運用現代投資組合理論來建構資產配置,在可承受的風險下做充分投資
  4. 根據客戶的風險承受度選擇最合適的資產配置
  5. 監控並定期重新平衡投資組合,並利用股息再投資來調整資產權重偏差

快速重點整理:新手該如何投資?

  1. 投資前要先弄清楚投資的定義,並不是把錢拿去買股票就叫投資,投資和投機、賭博有本質上的差異。
  2. 投資和交易也是不同的,投資更專注於長期的財富累積,不受短期價格波動影響,交易則是頻繁的買入賣出,目的是賺取短期的價差。
  3. 市面上可用來投資的工具有非常多,常見的包含定存、儲蓄險、債券、股票、基金、ETF、外匯、虛擬貨幣、衍生性金融商品、房地產等。
  4. 每個人適合的投資方法不同,在投資前一定要分析自己的風險屬性及投資期限,然後再多做功課,找出適合自己的投資工具。
  5. 新手比較簡單的入門方式是利用ETF進行多元的資產配置。

最近市場先生開了一堂的「用美股ETF創造穩定現金流」教學課程,
這堂課程會從基礎入門、資料查詢到實際操作,
教你學會建立一個穩定的全球ETF投資組合,目前累積已經有將近1100位同學上課。

加入市場先生FB社團,充實更多理財好知識

如果覺得這篇文章有幫助,
幫我按個讚,分享給更多人看到,謝謝!