最先端技術即席実装(SSJ)

最先端技術即席実装(SSJ)

いかに時間をかけないで、最新技術を使いこなすかを目標にした活動記録

ICOのために本気出して仮想通貨つくってみた

※この記事を執筆後に、全てが明らかになったので、↓こちらをご参照ください。
tetsuyaimagawa.hatenablog.com


前回のあらすじ

なんとなくファッション感覚でブロックチェーン技術に足を踏み入れ、圧倒的難易度に打ちひしがれ、絶望の淵に立たされたのだった…

↓【前回記事】ブロックチェーンの仕組み
tetsuyaimagawa.hatenablog.com

今回のあらすじ

世間がICOに狂乱していることを耳にし、とにかくICOすれば一夜で億万長者になるという裏をとったので、本腰を入れてICOの準備をすることにした。

ICOにいるもの

  • プロジェクトを説明するWhitepaper
  • 新しい通貨

Whitepaperの例:http://golemproject.net/doc/DraftGolemProjectWhitepaper.pdf
新しい通貨さえ作ってしまえば、プロジェクトはどうにでもなーるということで、とにかく新しい通貨を作ることにした。


f:id:tetsuyaimagawa:20170625172109j:plain

新しい通貨の作り方

分類表

全然わかっていなかったが、仮想通貨には親子関係があり、昨今バンバン増えている通貨はメジャーな親通貨の派生系であるそうだ。
↓分類表
docs.google.com

イーサリアムの子は作れるか

よくわからないが、イーサリアムの子を作るように言われたので、イーサのGithubを覗く。
github.com

さっぱりよくわからないので、go-ethereumたるものを起動。はじめてbrew install goした…
そして間もなくこれはWalletだということに気付く(↓ソース)
www.reddit.com

え、どうやってつくるの・・・(思考停止


作り方みたいなものを発見した↓ので
www.ethereum.org

ここに出てくるEthereum Walletをインストールしてみたら、何かとてつもない重労働をMy PC内で始めて容量を食い殺してしまったので、停止。
www.ethereum.org


Own currencyがtoken... tokenってなんだっけ…

普通はどうするのか

白目を剥きながら、どうやって独自通貨作るのかを調べまくっていたら

通貨を作ること自体は簡単さ。BitcoinかLitecoinのソースをちょっと弄るだけだからね(CV:アメリカの通販番組)

という記事を見つけた↓
www.fastcompany.com

とりあえずイーサが何なのかはいったん見ないようにして、BTCのリポジトリに戻る。
github.com

さて、何をどういじればいいのか…


ちょっと古い記事だが↓どうやら新しいブロックチェーンを作ればよいようだ。
bitcoin.stackexchange.com

ブロックチェーンを作る

Genesis Block Generatorでブロックチェーンを作ってしまえば独自通貨になる…
bitcointalk.org

stackoverflow.com


現代(2017)でもそれが成り立つのか疑問を抱きつつも、ブロックチェーンの作成に勤しむ。


次週、ジェネシス編突入。




余談ですが

もうコインチェック↓や

ビットコイン取引高日本一の仮想通貨取引所 coincheck bitcoin


ビットフライヤー

bitFlyer ビットコインを始めるなら安心・安全な取引所で


Zaif↓のアカウントはお持ちかと思いますが


2018はこれら↑で扱われていない通貨の時代です…
バイナンスクーコインで共に億りましょう…(白目


仮想通貨の暴落が怖くて不眠症になったので、科学の力を持ってこれに対抗した | PyBitFlyer + Pandas + Cron で自動売買

f:id:tetsuyaimagawa:20170617191955j:plain

前回までのあらすじ

仮想通貨のオラオラなボラボラに振り回されていた私は、ビットコインの暴騰暴落を見ては一喜一憂するだけの廃人生活を送っていた。
日本で一番簡単にビットコインが買える取引所 coincheck bitcoin
やがて、このままではいけない・・・と、真っ当に生きるために自動売買システムに手を出しはじめる。
しかしテクニカル指標を計算するために時系列データを取得しようとした時点で、BTCの為替データが高くて買えず、泣く泣く有給をとってデイトレードに勤しんだのであった・・・

tetsuyaimagawa.hatenablog.com

今回のあらすじ

サーバーを使わず自分のPCから、定期的に為替データを取得して、csvに保存する簡易プログラムを書く。


PyBitFlyerで為替情報を取る

pybitflyerをpipして、BitFlyer APIからBTC/JPYを取得する

import pybitflyer

api = pybitflyer.API(api_key="[KEY]", api_secret="[SECRET]")
tick = api.ticker(product_code="BTC_JPY") #BTC_JPYを選択
time = datetime.now().strftime("%Y/%m/%d %H:%M:%S") #apiにも時刻あるけど、扱いやすいのでこっちにする
ask = tick["best_ask"]
bid = tick["best_bid"]
mid = ( ask + bid ) / 2 #ASKとBIDの中間値をとる

Pandasでcsvにデータを追加していく

import pandas as pd

df = pd.read_csv('jpyeth.csv') #よむ
row = pd.Series([time,mid], index=df.columns) #行つくる
df = df.append(row,ignore_index=True) #行たす
df.to_csv('jpyeth.csv',index=None) #かく

テクニカル指標を実装

とりあえずPandasで標準偏差とか簡単に計算できるので
ボリンジャーバンドの-2σに触れたら損切るみたいなチキンなロジックを組みました。
決済もpybitflyerで一瞬です。
tetsuyaimagawa.hatenablog.com

cronで5分毎に自動実行させる

↓のような分を一文含むfile.txtを作って
*/5 * * * * /usr/local/bin/python3 /Users/hoge/retrieveBtcJpyRate.py

$ crontab file.txt #読み込む
$ crontab -l #読まれたか確認する
$ crontab -e #これで直接編集できるが、crontab -r を押すリスクがあるのでやめましょうとのこと

file.txtは読み込み後消してもOKです。

これで5分毎に自動実行です。

結果

データは取得できました。
f:id:tetsuyaimagawa:20170617201022p:plain

-2σに触れて損切りされてたらたまらないので、一旦コメントアウトしてますが、動作確認済みです…。

if df.tail(1)["jpybtc"].iloc[0] > bolbtm:
    print("まだ売っちゃだめだよおお")
else:
    print("売るよお")
"""
    api.sendchildorder(product_code="BTC_JPY",
                  child_order_type="MARKET",
                  side="SELL",
                  size=0.001,
                  minute_to_expire=10000,
                  time_in_force="GTC"
                  )
"""

まとめ

多少下がったとしても、まぁまだ上がると思うので(神話)
簡単に決済されてしまっては困ります。

漢は黙って



ズッホ