見出し画像

NASDAQ100, Russell2000 インデックスチャート & 移動平均線

NASDAQ100と Russell2000の指数チャートと移動平均線です
何故、このタイミングで記載したかというと10週(長期)の移動平均線を2週(短期)の移動平均線が突き抜けてるタイミングであり、ゴールデンクロスという状態にあるからです。
3月、4月と調子悪かったので、5月相場は期待していたのですが、そのとおりの状況のような気がしています。どこまで伸びるか楽しみです。

以下のチャートはNASDAQ100指数です

NASDAQ100指数チャート&移動平均線

実は、自宅売却金が手元にあり、いつ積むか狙っていたのです。
4月半ばの6%近く下落した段階でいっきにNASDAQ100に積みました。
現在、S&P500に加えて、NASDAQ100が50:40の比率となりました。
テック系(NASDAQ100のウエイトは、S&P500の約2倍)はここ2〜3ヶ月調子を落としていましたが、米国政策金利の利下げが始まると、さらに大きく伸びると期待しています。年内に利下げ始まらないかな。。。

つぎはラッセル2000指数です。
小型株のベンチマークとして使われています。私自身は保有していないので分かりませんが、他の指数と比較して先行して動くので”炭鉱のカナリヤ”と呼ばれています。

平均線のクロスラインは別段早くはないですね。
ただし、数値自体は3月末から下降していて、確かにNASDAQ100より早いように見えます。

ラッセル2000指数チャート&移動平均線

次にプログラムです。
ティッカーシンボルを”NDX”としていますが、これはNASDAQ100を表しています。指数でなくても、例えば、マイクロソフト”MSFT”とか、ここを変えれば他のチャートを作成可能です。

Pythonのプログラムは可読性が良いですよね、他人が書いたプログラムでも、なんちゃって、で理解できるので好きです。

# NASDAQ100 chart (dollar denominated) & moving average
import yfinance as yf
import pandas as pd
import matplotlib.pyplot as plt

# Define the start and end date
start_date = '2023-01-01'
plot_start_date = '2024-01-01'

# Download NDX and USD/JPY data
ndx = yf.download('NDX', start=start_date) #usd_jpy  = yf.download('JPY=X', start=start_date)

# Calculate the 2-week and 10-week moving averages (assuming 5 trading days in a week)
ndx['2W_MA']  = ndx['Adj Close'].rolling(window=2*5).mean()
ndx['10W_MA'] = ndx['Adj Close'].rolling(window=10*5).mean()

# Set plot range
ndx = ndx[ndx.index >= plot_start_date]

# Plot the chart
plt.figure(figsize=(12, 6))
plt.plot(ndx.index, ndx['Adj Close'], label='NASDAQ100 INDEX ')
plt.plot(ndx.index, ndx['2W_MA'], label='2-Week Moving Average', linestyle='--')
plt.plot(ndx.index, ndx['10W_MA'], label='10-Week Moving Average', linestyle='-.')
plt.title('NASDAQ100 INDEX with 2-Week and 10-Week Moving Averages')
plt.xlabel('Date')
plt.ylabel('Price ')
plt.legend()
plt.grid(True)
plt.show()


次は、ラッセル2000のプログラムです。
”NDX"を”VRTIX”に変えただけです(あと、タイトルも変更)。
実は、指数自体は”RUT”だそうなんですが、ヤフーファイナンスに情報がなかったので、指数に連動するヴァンガード社のラッセル2000ファンドをプロットしています。そういう意味では、正規化した値を縦軸の目盛りに出したほうが良かったのかもしれませんね。

# Russell2000 chart (dollar denominated) & moving average
import yfinance as yf
import pandas as pd
import matplotlib.pyplot as plt

# Define the start and end date
start_date = '2023-01-01'
plot_start_date = '2024-01-01'

# Download NDX and USD/JPY data
ndx = yf.download('VRTIX', start=start_date) #usd_jpy  = yf.download('JPY=X', start=start_date)

# Calculate the 2-week and 10-week moving averages (assuming 5 trading days in a week)
ndx['2W_MA']  = ndx['Adj Close'].rolling(window=2*5).mean()
ndx['10W_MA'] = ndx['Adj Close'].rolling(window=10*5).mean()

# Set plot range
ndx = ndx[ndx.index >= plot_start_date]

# Plot the chart
plt.figure(figsize=(12, 6))
plt.plot(ndx.index, ndx['Adj Close'], label='Russell2000 INDEX ')
plt.plot(ndx.index, ndx['2W_MA'], label='2-Week Moving Average', linestyle='--')
plt.plot(ndx.index, ndx['10W_MA'], label='10-Week Moving Average', linestyle='-.')
plt.title('Russell2000 INDEX with 2-Week and 10-Week Moving Averages')
plt.xlabel('Date')
plt.ylabel('Price ')
plt.legend()
plt.grid(True)
plt.show()

このプログラムは、グーグルコラボを使うと、PCにPython環境インストールすること無しに実行できます。
グーグルコラボとは、グーグル社が提供する無料の実行環境です。

使い方が分からなかったら、こちらのページを参考に


この記事が気に入ったらサポートをしてみませんか?