1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

初心者がPythonを学び作ってみた

Posted at

こんにちは!!
Pythonを学んで、何が作れるかな〜?
って考えた時に、一昨年くらいに流行った「仮想通貨」
ビットコイン(BTC)のファンダメンタルズ分析ができないかな?
と、思いつらつらとやっていきます!

#BTCとは
BTCを語る前に、仮想通貨とは何か?に触れたいと思います。
仮想通貨とは
実体をもたない通過です。

その中でBTCは一番流通量が多く、
仮想通貨 = BTC
と考えてる方も多いくらい有名なコインです。

2017年のピークの時期には、1億円以上の利益を出し億り人という人を多く排出しました。
それから下火になり、現在ではピークの約30%くらいの金額で推移していますが
値動きが大きく、値動きが読めれば、まだまだ稼げるものになっています。

##BTCでの有名人の発言との相関があるのでは?
どうすれば値動きが読めるだろう?

・・・・。

「BTCでの有名人のTwitterの呟き」と「BTCの値動き」
これに相関関係がないかを調べてみよう!!

ということで、今回は、ニシノカズさん @nishinokazu のツイートで検証していきます!

##まずはBTCの情報を取得しよう!!
ここは楽をしています。
BTCの情報をコインチェックから取得していきたいと思います。
https://blockrabbit.io/mercury-retrograde/
を参考に・・・。(全部持ってきました)
ありがとうございます!!

main.py
import requests
import datetime
import pandas as pd
import csv
 
def daily_price_historical(symbol, comparison_symbol, limit=1, aggregate=1, exchange='Coincheck', allData='true'):
    url = 'https://min-api.cryptocompare.com/data/histoday?fsym={}&tsym={}&limit={}&aggregate={}&allData={}'.format(symbol.upper(), comparison_symbol.upper(), limit, aggregate, allData)
    if exchange:
        url += '&e={}'.format(exchange)
    page = requests.get(url)
    data = page.json()['Data']
    df = pd.DataFrame(data)
    df['timestamp'] = [datetime.datetime.fromtimestamp(d) for d in df.time]
    return df
 
df = daily_price_historical('BTC','JPY')
df.to_csv('./data/coincheck.csv')

いつもお世話になっております!!!!再度
これでBTCの情報は取得できました。

##Twitter情報を取得しよう!

これはどこにでも取得方法が転がっていると思います。
今回は、Aidemyで使った方法で取得していきたいと思います。

tweepyを使ってAPIにアクセスして取得していく方法です。

main.py
import tweepy
import csv

screen_name = "@nishinokazu"

consumer_key = ""
consumer_secret = ""
access_key = ""
access_secret = ""

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
api = tweepy.API(auth)

# ツイート取得
tweet_data = []

for tweet in tweepy.Cursor(api.user_timeline,screen_name = screen_name,exclude_replies = True).items():
    tweet_data.append([tweet.id,tweet.created_at,tweet.text.replace('\n','')])

# csv出力
with open('./data/tweets_fav1.csv', 'w',newline='',encoding='utf-8') as f:
    writer = csv.writer(f, lineterminator='\n')
    writer.writerow(["id","text","created_at"])
    writer.writerows(tweet_data)

Twitterの情報も取得できました。

##終わりに

はい。ということで今日は情報取得のところを書かせていただきました。
次から検証、解析をしていきたいと思います。

読んでいただきありがとうございました!!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?