金融トレンドを聴く
1990年から今までの金融データをインポートする.
In[1]:=
msft = TimeSeriesRescale[
TimeSeries@
FinancialData["MSFT", {"Jan. 1, 1990", DateString[Now]}], {0, 10}];
aapl = TimeSeriesRescale[
TimeSeries@
FinancialData["AAPL", {"Jan. 1, 1990", DateString[Now]}], {0,
10}];
データをリサンプルし,平坦化する.
In[2]:=
resampledMSFT =
TimeSeriesResample[Round[MovingAverage[msft, 60]], 1/8];
resampledAAPL =
TimeSeriesResample[Round[MovingAverage[aapl, 60]], 1/8];
ListLinePlot[{resampledMSFT, resampledAAPL},
PlotStyle -> {Automatic, Automatic, PointSize[Large]},
PlotLegends -> {"MSFT", "AAPL"}]
Out[2]=
価格を周波数に変換する関数を定義する.
In[3]:=
midiToFreq[m_] := Clip[2^((m - 69)/12)*440., {0, 22050}];
2つの時系列によって制御された音声を生成する.
In[4]:=
res = .8 Mean[{AudioGenerator[{"Sin",
midiToFreq[.5 resampledMSFT + 40]}],
AudioGenerator[{"Triangle", midiToFreq[.5 resampledAAPL + 40]}]}]
In[5]:=
Spectrogram[res, 4096, 4096, PlotRange -> {All, {0, 4000}},
ImageSize -> 300]
Out[5]=