離散フーリエを導出する | SystemTradingのブログ

SystemTradingのブログ

システムトレードに関するブログです

■ 「フーリエ変換」に関する知識を学ぶ!


 

普段の生活には全く縁がないと思われる数学知識ですが、市場分析という

世界に足を踏み入れたのであれば無関係とは言えない知識になるでしょう。

 

 

参考書買っても中身がさっぱり理解できない・・ (ノ_・。)

あ~どうやって理解したらいいのかなぁ・・

諦めよっかなぁ・・

 

 

と知識の取得を諦めてしまう方も多いことでしょう。当コンテンツは、そんな方々

へお贈りいたします。

  

 

 

■ 今回扱う知識は「離散フーリエを導出する」

 

 

【常に過去の記事内容を把握!】 

当ブログにおけるフーリエ変換の解説はExcelで体験したフーリエ変換にて出力

された値を再現していく方式で解説していきます。

よってExcelの分析ツールによるフーリエ変換が行えるようにしておいてください。

解説には時間がかかるのでExcelの分析ツールでフーリエ変換を繰り返して使い

方を慣れておくと良いかもしれませんね (^-^)/

一応、過去の記事へのリンクを載せておきます!

 

 

参考 : 知識0でフーリエ変換をしてみる

参考 : フーリエ変換とは何に変換されるのか?

参考 : 逆フーリエ変換にて各領域を行き来する

参考 : フーリエ変換と周波数成分

参考 : フーリエ級数から理解していく

参考 : フーリエ級数と直交

参考 : フーリエ級数と偶・奇関数

参考 : 【超重要】波の基礎知識

参考 : ある関数とフーリエ級数

参考 : フーリエ級数の係数 a0 を求める

参考 : フーリエ級数の係数an・bn を求める

参考 : 複素フーリエ級数の導出 その1

参考 : 複素フーリエ級数の導出 その2

参考 : 複素フーリエ級数の係数を求める

参考 : フーリエ級数を改めて理解する①

参考 : フーリエ級数を改めて理解する②

 

 

 

 

 

 

【時系列データに適用するには離散フーリエ】

ここまでに解説してきたフーリエ級数及び複素フーリエ級数は連続型の値

に対して適用するものです。なので積分形式になってますよね?

時系列データの多くは離散型であるため、複素フーリエ級数を離散型へと

変換して積分ではなく総和であるΣにする必要があります。

 

 

よく意味がわからない ( p_q)

 

 

と思われる方もいるかと思います。それではイメージしてみましょう!

普段目にするチャートの時間枠は5分足であったり、日足であったり様々だ

と思いますが元々はティックですよね?

時間枠の設定とは、

 

 

設定する時間枠によるティック価格のサンプリング

 

 

 
HSF-SystemTradingのブログ-san1
 

 

 

であるのです。上図は1分足終値に対して5分足終値の点像(サンプリング)を採取

したものです。フーリエ解析では、この上図の区間における周波数情報を取得する

ものなので、

 

 

観測区間のサンプリング数

 

 

を複素フーリエ級数に情報として入力できるようにしないといけません。でも、今まで

扱ってきた複素フーリエ級数はΣですが、その係数Cnの区間は、

 

 

-π~π までの積分

 

HSF-SystemTradingのブログ-af9

 

HSF-SystemTradingのブログ-af16

 

 

ですよね。係数Cnには変形が必要となります。そのプロセスを辿っていきましょう (^-^)/

 

 

 

 

 

【観測データ区間の変更】

これは簡単なのです。現状では -π~π ですが、これは π を S として

ます。すると、

 

 

-S~S

 

 

までの範囲とします。ただ開始地点を0にしておくとスッキリしますので、改めて範囲

を、

 

  

観測開始時点を0 ~ 観測終了時点を2S

 
HSF-SystemTradingのブログ-ri6

 

と上図のようにずらします。この変換によって以下のように数式は変形します。 

 

 
HSF-SystemTradingのブログ-ri7
 
 

ただ、これだけでは積分のままなのですよねえ。そこで次に離散化させるための処理を

考えて行きます。

 

 

 

 

 

【扱い易いようにSinとCosに戻す】

ここでは今までに導出してきた指数関数表示による複素フーリエから逆行して三角関数

による複素フーリエに戻ります。

 

 

せっかく導出したのに・・ (ノ_・。)

 

 

と思われるかもしれませんがExcelなどで処理するには簡単な関数の方が楽です。同時

に、離散化の手続きもわかりやすくなるのですねえ。まず指数関数をオイラーの公式か

ら三角関数にしましょう (^-^)/

 

 
HSF-SystemTradingのブログ-ri8
 
 

次に区間が0~2Sの範囲かつサンプリングを採取するわけですから、採取するサンプリン

グ数を周期となるように、

 

 

三角関数のθに位置するパラメータを変更

 

 

しないといけません。同時に、サンプリングの仕様に合わせることでデータは連続から離散

となり積分から総和を表すΣへと変更されます。

まず、三角関数にとって指定された区間は1周期である2πですよね。それがサンプリング

数分に分割されて離散化しているわけです。サンプリング数は、

 

 

0~2S

 

 

と区間の終点が2Sでしたね。でも、実際に時系列データを分析するときはデータ数で数える

こともあるので、

 

 

2S = データ数 = L

 

 

と L をサンプリング数として統一しちゃいましょう (^-^)/

ということでサンプリング数を L とすると、

 

 
HSF-SystemTradingのブログ-ri4

 

 

となります。これに現在地点の値を表す x をかけると、

 

 
HSF-SystemTradingのブログ-ri5

 

 

となるので・・

 

 
HSF-SystemTradingのブログ-ri9
 

 

となり離散フーリエの形式になりました (^-^)/

注意点としては、

 

 

L   はサンプリング数(データ数)

 

n   は周波数の役割 

参考 : フーリエ級数を改めて理解する①    フーリエ級数を改めて理解する②

 

x   はx個目のデータの位置

 

f(x) は x 時点の時系列データ

 

 

ということです。これでExcelで計算ができる形式になりましたよ (^-^)/

Sinが虚部になっていますが・・ と心配される方もいるでしょう。実は虚部の扱い

は難しくありません o(^▽^)o

ちょっと正規の離散化解説とは違って強引ですが、イメージ的に理解してもらえ

るのではないかと思います。正式な離散化へのプロセスは書籍にお任せします

ね (;^_^A


ということで、次回からはExcelでの再現をしていきますね (^-^)/

 

 
 

 

 

ペタしてね