【Python】pandasでビットコイン価格のローソク足と移動平均線を計算してプロットする

import pandas as pd
import json
import requests

import datetime

#ライブラリをインポート
import pandas_datareader as web
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns
%matplotlib inline
import mpl_finance as mpf

f:id:oruka199665:20190517110849p:plain

r=requests.get(‘https://api.coingecko.com/api/v3/coins/bitcoin/market_chart?vs_currency=jpy&days=max’)
gecko=json.loads(r.text)
gecko

bitcoin=pd.DataFrame(gecko[‘prices’])
bitcoin

t=[]
for i in bitcoin[0]:
a=datetime.datetime.fromtimestamp(i/1000, datetime.timezone.utc)
b = a + datetime.timedelta(hours=9)
t.append(b)
t

bitcoin2=bitcoin[1]
bitcoin2.index=t
bitcoin2

bitcoin_ohlc=bitcoin2.resample(‘W’).ohlc()
bitcoin_ohlc

################ローソク足と移動平均をプロットする########

#日経平均の株価データの一部をdfに格納する
df=bitcoin_ohlc[285:315].copy()

#描画範囲を指定する
fig = plt.figure()
fig = plt.figure(figsize=(9, 4))
ax = fig.add_subplot(1, 1, 1)

# candlestickを使ってローソク足をプロットする
mpf.candlestick2_ohlc(ax, df[“open”], df[“high”], df[“low”], df[“close”],
width=0.3, colorup=”b”, colordown=”r”)

#最初の月曜日のインデックスを取得する
xtick0 = (5-df.index[0].weekday())%5

#X軸のインデックスを平日のみにする
plt.xticks(range(xtick0,len(df),5), [x.strftime(‘%Y-%m-%d’) for x in df.index][xtick0::5])

#終値の移動平均線をプロットする
plt.plot(bitcoin_ohlc[‘close’].rolling(5).mean().values[285:315],label=’rolling(5)’)
#終値の移動平均線をプロットする
plt.plot(bitcoin_ohlc[‘close’].rolling(25).mean().values[285:315],color=’red’,label=’rolling(25)’)
plt.tight_layout()

#グラフに格子を入れる
plt.grid(which=’both’)

#凡例を表示する
plt.legend()

#グラフを表示する
plt.show()

プログラミングの独学はとても難しい


プログラミングは小学校の義務教育にも導入され始めており、これから社会人として生きていく上でプログラミングはもはや出来て当たり前、出来なれば論外というエクセルレベルの必須スキルになりつつあります。そしてそういう話を聞いて参考書なりを購入して独学でプログラミング勉強しようと思っている人も少なくないでしょう。しかしプログラミングを独学で勉強し始めようと思うものの



・「分からない箇所で詰まって挫折してしまった」

・「勉強する時間が足りない」

・「ネットの記事だと情報が断片的でよくわからない」

・「コードのエラーの原因が分からない」



という壁にぶち当たって、プログラミングの勉強を止めてしまう方が少なくありません。独学でプログラミングを勉強してる時間のほとんどはつまづいている時間です。実際僕も最初のころ独学でプログラミングを勉強していた頃はエラーの原因が分からず丸1日を不意にしてしまった・・・そんな苦い経験がありました。



それで僕は一度はプログラミングの学習を諦めてしまいましたが、就活で現実を知る中で「プログラミングを勉強して、いずれフリーランスとして自由な生き方がしたい」「エンジニアとして若いうちから高収入を得たい」という気持ちから一念発起して「侍エンジニアのwebサービスコース」に申し込み、プロのエンジニアの方に対面でマンツーマンでPythonによるWebサービス作り方とWeb技術の基本を教えてもらい、ようやくプログラミングが理解でき、今ではエンジニアとしてそこそこの暮らしができるようになりました。





侍エンジニアでは、とりあえずプログラミングやインターネットの基本を知っておきたい人から、HTML・cssなどでWebサイトやWebアプリを作ってみたい人やPythonを勉強してデータサイエンティストやAIエンジニアになりたい人まで幅広いニーズに応えた様々なコースが用意されています。



IT業界と言ってもエンジニアの仕事はプログラミング言語次第でサーバーから機械学習・ディープラーニングまで多種多様ですし、侍エンジニアの無料レッスン(カウンセリング)を受けてみて、自分のやりたいITの仕事は何なのか?を見つけるのがエンジニアへの第一歩になります。ちなみに今侍エンジニアの無料レッスンを受けると1000円分のAmazonギフト券がもらえるので、試しに受けてみるだけもお得です。


自分は半端に独学やオンラインスクールで勉強して金と時間を無駄にするくらいなら、リアルのプログラミングスクールに通ってしっかりプログラミングを勉強した方がいいと思います。ちなみに今、侍エンジニアに申し込むと、25歳以下の学生の方であれば、受講料が20%OFFになるので超お得です。


そして、プログラミングは大勢で授業を受けたり漫然とオンライン学習をするよりも自分が分からない箇所をピンポイントでプロの講師に直接質問して、ちゃんと納得するというスタイルの方がお金は確かに少し掛かりますが、独学で学ぶよりも絶対にモノになります。


シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメント

  1. tkstock.site より:

    There is an cipher vandalize because of win. tkstock.site
    http://bit.ly/2NJ1GQA

  2. ContactForm より:

    Hello! tkstock.site

    We make available

    Sending your message through the Contact us form which can be found on the sites in the Communication partition. Feedback forms are filled in by our program and the captcha is solved. The superiority of this method is that messages sent through feedback forms are whitelisted. This method improve the probability that your message will be read.

    Our database contains more than 25 million sites around the world to which we can send your message.

    The cost of one million messages 49 USD

    FREE TEST mailing of 50,000 messages to any country of your choice.

    This message is automatically generated to use our contacts for communication.

    Contact us.
    Telegram – @FeedbackFormEU
    Skype FeedbackForm2019
    WhatsApp – +44 7598 509161
    Email – FeedbackForm@make-success.com