仮想通貨の価格予測システム作り始めます
仮想通貨の価格予測システム作り始めますということで
まぁ、fxでも株でも何でも応用はきくシステムにはしますが、
最近は仮想通貨のapiとか簡単に取れるし、まぁ少しだけはやりに乗っかってって感じです。
まぁ、どうせディープラーニングとか言う流行りものも使いますよ、きっと。
でも、それだけじゃ面白くないし、どこでもやってそうだから、上澄みを重ねた分析手法で作っていこうかと思います。
なんといってもブームがあんまり好きではないので。
古典的な分析手法の良さというのも使っていきます。
もうちょっと、論理的に言うと株価の変動とかってディープラーニング的な手法だとどうしても限界があるんですよね。
正答率悪いし。 まぁ投資の判断にはなる程度ですね(それが大事なんですけど)
まぁ、あれですよ社会の情勢とかファンダメンタル的な面ってディープラーニングじゃできないからね。(自分が無知なだけかも)
じゃあ、どうするのって話ですけど、例えばその通貨に関しての言語分析とか入れてもいいし、ニュースの良し悪しを判断材料としてもいいし、まぁ色々あると思うんです。
まぁまだ、定まってないけど、コツコツ作っていこうかと思います
ほぼ一人で旅のQ&Aサービス(docoico)を作ってみました
もともと旅好きなんでなにかバックパッカーのためのサービスを作りたいなって思っておりました。
ちょうどプログラミングもしてるし何か作ってみようと言うことで作成しました
それがDocoIcoです。
バックパッカーって基本的にある程度自分ではよくわからない土地に行くので結構情報収集は欠かせないんですよね。
そこで、バックパッカー同士が情報交換ができれば良いんじゃないかということで
バックパッカーのためのQ&Aサービスを作りました!
現在では基本的な機能しかないですが、これからもっとデザインと機能面で改修していこうと思います。
中身はpythonのフレームワークのdjangoで作っています。(CMSは使いたくなかったので)
サーバーはnginxで作っています。
また、作成で苦労したこととかは他の記事で書こうかなと思っています。
djangoのORMでwhere文の大なり(>)を書きたい時
例えば、昨日の日付から現在までのデータを取得したい時
yesterday = datetime.date.today() - datetime.timedelta(1)
example_table.objects.all().values().filter(registeredDateTime__gt=yesterday)
filterでいつもの"="の前に
"__gt"をつけてやればいいだけです。
> は __gt=
= は =
djnagoのORMでinを書く方法
例えば為替のレートを検索するときで
ユーロとオーストラリア・ドルだけ抽出したいときは以下のように書きます。
ExchangeRate.objects.all().values().filter(currency_code__in=["EUR","AUD"])
filterのなかで"__in="を書いて、その中でリスト型で書くだけですね。
Rspecのstub(スタブ)を使ってみる
Rspecのstub(スタブ)を使ってみる
rubyにかぎらずテストを書いていたら、どうしてもここの処理はこの値が返ってきてほしいところとかありますよね。(テストを行うために恣意的に値を返したい)
そんなときはstub(スタブ)を使いましょう。
自分はwebスクレイピングとかのテストのとき使っていました。(なかなかテストが難しいですからね)
stub(スタブ)とは
あるオブジェクトのメソッドが呼ばれたら、指定した戻り値を返すものです。
書き方
# allow(object).to receive(method).and_return(return value)
allow(job).to receive(:webscraping).and_return("返したい値")
#恣意的に特定の値をテストのために返したいメソッド
def webscraping(url)
open(url) { |f| Nokogiri::HTML.parse(f.read, nil) }
end
(注)これでテストは書けますが 以下のようにテストの回答と一致させても意味は無いのであくまでどうしても処理の途中で呼ぶ出すメソッドとかに使ってください。
expect(job.webscraping).to eq "何かの値"