Pythonコード集

【Python】学習の前に知っておきたい2つの重要なこと

ー この記事は2分で読めますー

このブログの売りの一つが、『Python』を使った分析です。

ここ2年か3年くらい前から、プログラミング言語の学習がブームなっている印象を受けます。

機械学習への注目もあって、Pythonは人気の言語のひとつみたいですね。

実際に当ブログ記事の中でも、Pythonに関係した記事はアクセスの伸びが全然違います。

 

Pythonは確かに便利なプログラミング言語です。しかし、便利すぎるがゆえに学習の範囲が広すぎて、挫折するというデメリットがあるとジェイは考えています。

では、このデメリットを回避するためにはどうすれよいでしょうか?

今回の記事は、これからPythonをはじめとしたプログラミング言語の学習を始めようと考えている人に知っておいてほしい『2つのこと』について書きました。

ぜひご一読ください!


結論

Pythonやプログラミング言語を学習する前に『大きなゴール』をイメージしよう。そして『大きなゴール』へ近づいていく実感を得るために『小さなゴール』を設定しよう。『小さなゴール』とは『アウトプットの連続』である。

この記事の対象となる人

・プログラミング言語の学習をしたい人
・Pythonを使って投資の分析をしたい人

 

ゴールを設定しよう

まずは大きなゴールから設定

big_goal

結論からいいます。

Pythonの学習を始める前にまずは..

大きなゴールを設定する

ことがとても重要だとジェイは考えています。

 

大きなゴールの設定のコツは...

・今の自分の状況を知ろう
・その状況の時代の流れを考えよう

を考えることです。

ジェイを例にしてみましょう。

 


ジェイの大きなゴールとは?

ジェイは『AIを駆使してマーケットの予測をしたい』、ということを大きなゴールとして設定しました。

なぜか?

ジェイは、投資の世界で生きている人間です。投資の世界では、正確な情報をいち早くそしてより多く集めることが求められます。

しかし、人間の力だけで投資にかかわるすべての情報を集めて、しかも分析するなんてことは不可能です。そうなると、テクノロジーの力を取り入れるしかありません。

これが、今ジェイが置かれている状況です。

 

そして投資の世界では、『テクノロジー=AIによる分析』というトレンドが主流になっています。
これは時代の流れなので、今後さらに加速していくでしょう。

これが、ジェイがいる状況の時代の流れです。

 

このように自分が今いる状況と、その状況の時代の流れを考えて、大きなゴールを設定することは、プログラミング言語にかかわらず何か新しいことを学ぶ際にとても重要なことです。

 


次に小さなゴールを設定しよう

small goal

大きなゴールを設定するだけでは十分ではありません。

次にあたながやるべきは...

大きなゴールにつながる小さなゴールを設定する

ことです。

 

なぜ小さなゴールを設定することが必要なのか?

それは、プログラミングの学習を続けるモチベーションを保つためです。

プログラミングの学習に終わりはありません。学ぶべきことは無限にあります。なぜならこの世界は日々進化しているからです。

今日学んだ知識は、来年には『まだそんなことやってるの?』と言われる世界なんです。

 

先が見えない状況で努力し続けることほどツライことはありません。

 

プログラミングの学習を始めても、約8割の人間が挫折する理由はここにあります。

プログラミングの学習で挫折をしないためには、自分は前に進んでいる!という実感を得ることが重要です。

 

その実感は、小さなゴールに到達することでしか得ることできません

 

いくつもの小さなゴールに到達すると、プログラミングの学習に対するモチベーションが続きます

モチベーションが続けば、それが習慣になります

プログラミングの学習が習慣になれば、やがて大きなゴールにたどり着くのです。

 

ジェイはPythonを学んで数年が経ちますが、何度も挫折したけた経験があります。しばらくPythonの学習から遠ざかったこともあります。

しかし、そのたびに小さなゴールを設定して、そこに到達して、今このブログ記事を書いています。

 

では、小さなゴールを設定するコツはなんでしょか?

 


小さなゴール=アウトプット

それは...

学んだ成果を『見える化』すること

なんです。

これはジェイの実体験であり、Pythonにかぎらずプログラミング言語の学習を経験した人が、みな口をそろえて指摘することです。

 

では『見える化』とはなにか?

それはWeb上で見えるすべての『モノ』です。

Webサイト、Webアプリ、そしてこのブログでいうならば、チャートが良い例でしょう。

 

Pythonによるチャート例

ナスダック指数の日足チャートとボリュームチャート(年初来)
ナスダック指数の日足チャートとボリュームチャート(年初来)

 

上のチャートでは、ナスダック指数の価格をラインチャートで描画し、その上に移動平均線(10日、25日、75日)を色別に分けて簡単なテクニカル分析をしています。

3本の移動平均線がすべて上昇基調にあるということは、ナスダック指数の上昇トレンドが崩れていないということを示すひとつのシグナルです。

 

さらに下グラフは、日々の取引量(ボリューム)を描画したバーチャートです。

先週の取引量(ボリューム)は2020年の平均を下回っていることがわかります。

これは、多くの投資家が11月3日の米大統領選挙を控えて、取引を控えていることを示唆しています。

 

ちなみに上のチャートのソースコードは以下となります。

ソースコード

<code>import pandas as pd
import pandas_datareader as data
import matplotlib.pyplot as plt
%matplotlib inline

import seaborn as sns
sns.set()</code>
<code>def analsis(start,end,ticker):
    
    df = data.DataReader(name=ticker,data_source='yahoo')
    df = df[(df.index&gt;=start)&amp;(df.index&lt;=end)]
    
    date=df.index
    price=df['Adj Close']
    
    span10=10
    span25=25
    span75=75
    
    df['sma_10'] = price.rolling(window=span10).mean()
    df['sma_25'] = price.rolling(window=span25).mean()
    df['sma_75'] = price.rolling(window=span75).mean()
    
    plt.rcParams['figure.figsize']=15,12
    sns.set_style('whitegrid')
    
    plt.subplot(2,1,1)
    plt.plot(date,df['sma_10'], label='SMA_10',color='blue')
    plt.plot(date,df['sma_25'], label='SMA_25',color='limegreen')
    plt.plot(date,df['sma_75'], label='SMA_75',color='red')
    plt.plot(date,price,color='Black',lw=3,label=ticker,alpha=0.6)
    plt.legend(fontsize=20)


    plt.subplot(2,1,2)
    plt.bar(date,df['Volume'],color='grey',label='VOLUME',)
    plt.axhline(y=df.Volume.mean(),color='black',ls='--',label='AVG')
    plt.legend(loc=2,fontsize=20)</code>

 

これからPythonの学習を始めようとしている人からみると...

うわ!わけわからん!

というのが本音でしょう。

しかし、何度も小さなゴールへ到達すると『うわ!わけわからん!』から『プログラミングって楽しい!』という感覚に変わってきます。

いわば小さなゴールとは、『アウトプットの連続』でもあるのです。

アウトプットを連続することで、やがて大きなゴールが見えてくるのです。

 

Pythonを学ぶことは必要か?

大きなゴール小さなゴールを設定について、重要な理由がもうひとつあります。

それはゴールの設定が...

あなたにとってPythonは必要なのか?

ということを真剣に考えるきっかけとなるからです。

 

ゴールすら設定しな状況でプログラミング言語の学習を始めれば、かなりの確率で挫折します

途中で挫折するということは、『その間にかけた時間とお金が無駄になる』ということです。

しかし、プログラミング言語の学習を始める前に大きなゴール小さなゴールを設定しておけば、自分が今学ぶべきは『Python』なのか『他のプログラミング言語』なのか、それとも『別の何か』なのか?を正確に判断することできます。

正確に判断できれば、『挫折=時間とお金を無駄にする』ことを避けることができます。

 

これからプログラミング言語の学習を始めようと考えているみなさん、ぜひ大きなゴール小さなゴールを設定してください!

そして時間とお金を無駄することなく、成功に向かってひたすら走り続けてください!

応援しています!

 

今回のまとめ

・Pythonの学習を始める前にゴールを設定しよう
・ゴールには大きなゴールと小さなゴールがある
・まずは小さなゴールをめざそう
・小さなゴールとはアウトプットの連続である

注記事項
ジェイの米国株投資ブログ(以下当サイト)に掲載されている記事は、投資の助言を目的としたものではありません。当サイトに掲載されたコンテンツの正確性については、可能な限り注意を払っています。しかし、意図せず誤情報が紛れ込む可能性や情報そのものが古くなっている可能性があり、その正確性を完全に保証するものではありません。当サイトのコンテンツを参考に投資を行い、その後発生したいかなる結果についても、当サイト並びにブログ運営者は一切責任を負いません。すべての投資行動は『自己責任の原則』のもとで行ってください。

-Pythonコード集