Love PG , Liquor & Music

プログラマー備忘録やお酒や音楽

Music Collection Vol.1(Mighty Crown、Reggae)

Vol.1は一番好きなサウンドMighty Crownの音源を書いてみます。

 

レゲエにガッツリハマって早十と余年、振り返ってみると最新のDancehall聴くのも、Foundation聴くのも、Lovers、SKA、ROOT、Reggae全てMighty CrownのMixやプレイの影響をかなり受けてこれまできました。

一番最初に行ったのは福岡であったCapletonが来日した時International Connectionとかいうイベントだったと思います。(多分。)

ちょうど上京時期と重なり、横浜でも見に行った記憶があります。(確か。)

それから、横浜レゲエ祭、Back To The Hardcore、Crown Jugglers、Ragga Chinaの毎年やってる奴なんかにも通いつめたりもしました。

Mixもリアルタイムでリリースされるものは全て買いに行き、昔のものも全部は無理でしたがぼちぼち集めてました。そのくらい好きなサウンドです。

 

デジタル化して手元にないのとかブート版を除いたら、今も持ってるので多分いちばん古い音源がこれです。

 

CROWN TOUR 97 -火と拳スペシャル- 

f:id:gwaan_so:20140610211141j:plain

 

CROWN JUGGRERSシリーズの前にリリースされてたのがMighty Crownシリーズです。

他にもこのMighty Crownシリーズは

・3 The Harderway '96

・Loversのタイトル忘れた

・VS Legacy

・SuperCriss Birthday Bush

・Yokohama Reggae Bush

・Vital '98(Mental?)

・頂点-Five Star Cup-

とかがあった気がします。

 

B面の最後にH-MANがDeeJayするのが面白くて、よく聞いてました。

Mighty Crownシリーズが終わってからはCrown Jugglersシリーズが始まりました。

 

CROWN JUGGLERS

このシリーズ10年位続いてて、一昨年くらいにBest版がでて終わりました。(多分。

一番最初のこのVol.1が出たのが、2001年です。1999年にMighty CrownがWorld Clashで優勝して、「CROWN JUGGLING MIX」っていうのを出してその次に出したのがこれだと思います、

このTapeがでて2001年のWorld ClashでBounty Killerともめたのが原因かはわかりませんが、この後しばらくBountyのDUBがめっきりMIXに入らなくなりました。(45はあったかも?)

この頃リリースされたコンピレーション、Life StyleからのDUBが結構インパクトあり、未だにBack To The Hardcoreとかだと鉄板ですが、当時流行っていたSuperstar RiddimをSickのDUBで撮り直したやつがめちゃめちゃかっこよかったです。1way物ってのを初めて知ったのもこの頃でした。

 

f:id:gwaan_so:20140610211302j:plain

 

CROWN JUGGLERS VOL.2

このシリーズで1番聞いたのはこのCROWN JUGGLERSの中でVol.2じゃないかなってくらいめちゃくちゃ聞いてました。

このVol.2から初めてCDでのリリースもあったのですが、テープは90分、CDは74分と制約があったので、CD版ではちょっと削られています。(Mixも違います。)

これを聴くならCD版より断然テープ版をおすすめします。たぶんテープはもう売ってないし再生する機械も無いのですが、Mighty Crownのモバイルサイトにアーカイブがあるので是非聞いてみてくだい。

http://mightycrown.jp

 

f:id:gwaan_so:20140610211325j:plain

 

Damian Jr Gong(Bob Marleyの息子)から始まり、Buju、Rap StarのNAS、Wayne Marshalの「Gagaganjha~」とかElephant Manの「Badman Na badman~」とかから始まり、B面は当時くそはやったKevin Littleの「Turn Me On」からモンスターヒットしたDiwalli Riddimセグメント。このTurn Me Onからのつなぎがめちゃくちゃかっこいいんです。今まで聞いた最高なつなぎ目ベスト3に入ってます。んで、Fire BallのBring It Onからの日本人のダブもかなりいけてました。

ちなみにジャケットはChozen Lee作だそうです。

 

最近は歳とともにJazzとかBluesとか結構おとなしめの曲聴くことが多いんですが、たまにはこういうJugglingでがっつりいくのもいい感じです♪ 

Heroku+Ruby on Railsで開発する! その5(Scaffolding使ってサクッとAP作る)

近くにRailsの相談出来る人がいなくて、はじめてStackoverflowで聞いてみたのですが、回答が英語でほぼわからず、しまいにはマイナス評価を付けられてボコられてきました。何事も経験です。

http://stackoverflow.com/questions/24058706/i-cant-save-model-rails4

 

さて、前回までで開発環境がひと通り整いました。

今回からは実際に開発をしていきます。

 

1番最初の記事でテストの管理AP作るとか言ってましたが、

いろいろ考えまして、今別で作っている為替取引の結果を参照できるようなアプリを作って行こうと路線変更をします。

 

まずは、本当に最小構成で以下のような感じのを作っていきます。

 

要件:アプリを利用するユーザーを管理できること

機能:アプリを使うユーザーの登録・更新・削除・参照

構成:ユーザー情報は名前とログインで使うパスワードを持っている

 

です。これをWEB上で行えるようにします。

 

プロジェクトを作る

まず、プロジェクトを作ります。前回テストで作成した感じでrails generateコマンドを使って作ります。make-moneyというプロジェクトを作りました。

64bitOS使ってる人はこの後にHeroku+Ruby on Railsで開発する! その3(開発環境構築 Ruby, Rails, Gitのインストール) - Love PG , Liquor & Musicで書いた対応が必要になります。(いちいちめんどくさいから早く対応して欲しい。GITHUBに上がってる開発Versionでは対応されている雰囲気がありました。)

 

f:id:gwaan_so:20140608194711j:plain

 

Scaffoldを使っていろいろつくる

次にRailsの強力な機能Scaffoldを使っていろいろ作ります。

Scaffoldとは、足場という意味でコマンド一つでMVCを全てばーっと全部作ってくれます。

今回作るのは、ユーザー情報なので以下のようなコマンドを叩いてあげます。

rails g scaffold user name:string password:string

# パラメータ設定はrailsコマンド(rails) - Railsドキュメントにいろいろ書いてます。

 

すると以下のファイルが生成されます。

f:id:gwaan_so:20140608195818j:plain

 

ここでいったん

rake db:migrate して rails gしてアプリを起動させて

http://localhost:3000/users

にアクセスしてみます。するとこんなページができてました。

 

f:id:gwaan_so:20140608200044j:plain

 

New Userのリンクをクリックすると、こんな画面になりユーザの登録が出来ます。

 

f:id:gwaan_so:20140608200131j:plain

 

登録したら一覧に表示されます。

ここで登録したレコードの右側にあるShow、Edit、Destroyをクリックするだけでその動作を行えるようになっています。

 

f:id:gwaan_so:20140608200241j:plain

 

Jsonにも対応していて、URLの後ろに.jsonをつけてあげるとJSON形式で返してくれます。

 

f:id:gwaan_so:20140608200420j:plain

 

こんな一瞬でWEBアプリが完成しました。便利ですね。

 

では、自動生成されたものを少し読み解いていきます。

 

コントローラー

コントローラーではusers_controller.rbが生成されています。まずひとつ気づくのはパラメータでuserと指定したのにusersになっています。これはグローバルなリソースを意識する場合複数形にする、自分のリソースを意識する場合は単数形にするという考え方から来ています。英語の複数形とか単数形を今までの開発であまり意識したことがなかったのでなれるまでがこれも大変です。。。他にもModeの場合は他動詞を意識したりとかいろいろあります。

 

users_controller.rb 

 

ソースを見ると、index,show,new,edit,create,update,destroyが自動生成されているのがわかります。(# new,editは使わないので割愛します。)

index

Userに含まれる全ての値を返しています。ちなみにRubyは処理終わりにreturnしないでも 処理最後の値が勝手にReturnされます。あと、先頭に@が付いているのはグローバル変数でこれに値を詰めてやってViewとのやりとりを行ってます。

 

show

まず、before_actionがshowにかかってるのでset_userが呼ばれます。で、この中でidが一致するユーザーを返しています。ここのIDはモデル作るときに定義していませんが、必ずプライマリーキーとして自動生成される値になります。

 

create,update

パラメータからUserを作ってあげてます。パラメータはuser_paramsで作ってあげてます。72行目のparams.require(:user).permitはrails4からの機能でモデルに対してアクセス可能な要素の許可を行ってあげています。

あと、respond_toで遷移先をしていしています。

遷移先はsave処理の成功・失敗により分けられています。また、ここでformatをJSONにするかHTMLにするかの振り分けを行っています。

 

destroy

ユーザーの削除を行ってます。

 

モデル

モデルは特に自動生成されません。モデルは自分で実装するところです。

空のファイルと、DBのmigrationファイルのみ自動生成されます。

 

 ビュー

JSONとHTMLで出力があるため以下の2通り自動生成されます。コントローラーで設定されたグロバル変数を参照して値を出力できるようにRubyで書かれています。

デザインを変えたい場合はここにスタイル当てて行ったりしていきます。 

 

show.html.erb

 

show.json.jbuilder

 

 ルート

最後にルートを見ると

  resources :users

がデフォで設定されています。処理ごとにきちんと制御するべきですがまあ作っていく工程でも一番最後の方で問題はないです。

 

他にもテストクラスなども自動生成されていますので、これはテストをする際にあたっていきたいと思います。

Pioneer Digital DDJ-SBをTraktorで使ってみる

ちょと前に購入したDJ-SB、DJ Introで特に問題なく使えてるので製品版のStereo DJにアップグレードしようと考えていたのですが、購入前に以前まで使ってたTraktor DJ Studioで使ってみてダメだったら買おうと決意しました。(Traktorはライセンスあるし、金欠ですし。)

ちなみに使ってたのはこれです。(古い^^;)

f:id:gwaan_so:20140608185503j:plain

 

 

ちなみに今回使うのはTraktor 2.6.8。せっかくなのでと最新版の体験版を落としてきました。

 

ちなみにいま、iPhone版のTraktorなんてあるんですね。

安いので、今度使ってみたいと思います。

 

下準備

まず、コントローラーのマッピングファイルを入手します。マッピングファイルとはコントローラーのこのボタンを押したらソフトのこの処理が動くというやつです。

再生ボタンに再生機能を割り当てたりしています。

マッピングファイルは自分で作ることも可能ですが、とりあえず誰かが作ったやつをテンプレートにして自分用にカスタマイズするほうが楽です。

 

テンプレートはTraktorer御用達のTraktor Bibleからダウンロード出来ます。

ここでDDJーSBのマッピングファイルを検索します。

これの上位機種DDJ-SZとかDDJ-SXとかDDJ-SRなんかも検索したらでてきました。

 

f:id:gwaan_so:20140608190046j:plain

 

ダウンロードしたら、圧縮ファイルの中に「Pioneer DDJ-SB.tsi」というファイルが入ってます。これがマッピングファイルになります。

 

中見たらXMLで記載されていますね。特に見る必要は無いのですが、職業病ですね。

f:id:gwaan_so:20140608190625j:plain

 

次にこれをTraktorへ設定してきます。

設定画面のController ManagerからImportしてあげます。

Import完了すると下のようになります。

 

f:id:gwaan_so:20140608190727j:plain

 

そして、次にOutput Routingを設定します。

Traktorはここ設定しておかないとコントローラーが認識されてても何も動かすことが出来ないのでパパっと設定しときます。

 

f:id:gwaan_so:20140608190916j:plain

 

 設定するとこんなかんじになります。

これで設定は完了です。あとは1度アプリの再起動します。

僕の環境ではPC再起動しないと動かなかったので、動かない場合は再起動します。

 

これで完了です。動くようになりました!!

f:id:gwaan_so:20140608191113j:plain

 

うん、やっぱり慣れた画面はいいですねー。

Demo版なので30分動かすと終了してしまいますが、とりあえず30分×2回ほど使ってみた感想として、Stereo DJの方が圧倒的に使いやすかったです。

まあ、そもそもパイオニアのDJ製品に最適化されているパイオニアのソフトなのでそれはもうやる前から結果は見えてた話なのですが・・・

 

さよならトラクター・・・・

いままでありがとう。

 

追伸:TRAKTORデフォルトのループ音源、カッコ良かったのでそれだけはいただきました。

投資で儲けられるアルゴリズムの概要を考えてみました('◇')ゞ

FX(外国為替証拠金取引)って結構イメージ悪いですよね。

10万円が6億になったとか夢のある話で宣伝してたりしますが、正直宝くじを10万円分買って6億にする確率の方がまだ高いと思ってます。

 

よくワイドショーとかで主婦がはまってマンションの頭金をすべて溶かしたとか、300万借金できたとか、人生狂った人のほうが多いと思います。(所詮素人はプロに勝てないってことなのです。)

 

僕がFXに初めて手を出したのは20歳かそこらのときでした。

当時は今より規制が強くてレバレッジが100倍までかけれましたので為替が1円上がれば元金が倍になり、1円下がると全部なくなってしまうというシンプルなギャンブルでした。当時から投資はお小遣いの使い道の一つという位置づけを守っているので、幸いにもこれが原因で借金を抱えたりはいまだにありません。野生の感で10倍まで増やした資金が一夜で0になったことはありますが笑

今後も暇つぶしのギャンブルという感じでやっていきます。

 

さて、前回構築したDBに乗せるアルゴリズムの設計方針を概要としてまとめました。

予測値を算出するのアルゴリズムを例に沿って構成しています。

 

まず、

このシステムは何ができるの?

ってとこから入ります。

下記表には直近10分のレートの変化が記載しています。

anticipationには1分前からどれくらい変動があったかを記載しています。

その値をもとにオレンジで塗りつぶしている未来10分間のレートの動きを予測できます

証券取引では数秒先の値段がわかれば一生遊んで暮らせると言われています。

f:id:gwaan_so:20140606163427j:plain

で、次にこの値からどうやって予測していくかですが、     

 

f:id:gwaan_so:20140606163435j:plain

 

1-1  直近10分間の値を記録します。(表:anticipation val)

1-2  過去15年間の変動の中から全く同じ変動をしている箇所を検索します。

     (表:15 years rate anticipation valでは5か所同じ変動をしている箇所を見つけています。)

 

 

f:id:gwaan_so:20140606163443j:plain

 

2-1  マッチした5パターンでの未来10分の値動きを取得します。

        (場合によっては数百パターン取得できると思います。)

2-2 5パターンの10分後の値幅を取得します。上記TOTAL部分。

2-3 値幅に鳴る確立を集計します。Probabillity部分。

 

f:id:gwaan_so:20140606163448j:plain

 3-1 値幅のの確立ごとの値動きを取得します。

可視化すると↓みたいな感じ。

 

 

f:id:gwaan_so:20140606163455j:plain

 

 黒実線で実際の値動き、赤点線が予測している値動きです。

これを1分ごとに算出することによって、10分後のレートを算出していきます。

上の例は購入から2分後に算出した購入時から10分後の予測値を算出しています。

 

オレンジのtarget of sellエリアが取引開始2分後までに予測できている価格です。

例えばこの場合、購入時の時点で80%の確立で5pipsの利益が得られることが予想できているので安心して買えます。更に1分後値上がりしているのでその値を元に再解析を行い、5pips以上上がっていることが確認できるので取引を継続します。次に2分後に再解析した結果若干下がっていますが5pips未満だがマイナスにはならないということが予想できます。

と、このように超短期的なPACDサイクルを形成することによって取引の内容を固くすることができると考えています。 

 

このシステムの大前提の思想として

過去15年で80%の確立で5pips上がるのであれば、今10回同じ取引をしても80%の確立で同じ結果が得られるという考えに基いています。

 

で、システムを利用して55~60%勝てるタイミングを得られるようにするのが今後の目標です。上がるか下がるかのギャンブルなので、50%以上が得られれば勝ちゲーです。

為替は指標や企業の動向に影響されたり、曜日によって取引数が違ったり、先人達が開発した予測アルゴリズムがあったりとか色々な要因を考慮する必要がありますがとりあえずいったん最小構成を作ってから考えたいと思います。

 

当面は遊んで暮らすために寝ずに考える日々が続きそうです。。

Music Mix Work Vol.2(恋は焦らず)

80年代からのDancehall黄金期のMixです。Love Punanny BadやShanty TownのRemixも作って入れてました\(^o^)/

Jamaicaからはグラミー賞とったShabbaやSuper CatにNinja Man、UKから早口DeejayのGeneral Leby、日本は90年終わり頃のFire Ballとかなんとか入れてます。1曲目のHurry LoveはソフトバンクのCMとかでお馴染みのやつのレゲエカヴァーです。原曲はThe Supremesのこれですかね。めっちゃ好きな曲です。

恋は焦らず、焦って失敗舌恋がなんこあったやら。

焦らなくても結果は同じだったかもしれませんが。まあどんまいです。

 

この12インチシングルが僕の持ってる曲の中でダブプレート除いて一番高いです。1曲3万ちょいしました笑 多分この曲はダブ取ってもらったほうが安いんじゃないかと思います笑

 

夏っぽいので良かったら聴いてください。

 

 

Track List

1.Intro - Take Mix
2.Yu Can't Hurry Love - General Levy & Jr Dun
3.Wickeder - General Levy
4.Champagne Body - General Levy
5.Action - Buju Banton & Nadine Sutherland
6.Wicke Dicke - Buju Banton & Nadine Sutherland
7.Live & Leam - Culture & Wayne Wonder
8.Stick By Me - Thriller U & Jphnny P
9.Come Back To Me - Anthony Malvo & Tiger
10.Dancehall Rock - Barrington Levy & Cutty Ranks
11.Love & Devotion - Luciano
12.Boom Bye Bye - Buju Banton
13.What Can You Do - Beres Hammond
14.Blaze Up Di Challowah - Sizzla
15.Can't Believe Mi Eyes - Bounty Killa
16.Magnum Boy - Bounty Killa
17.Time 4 The Love - Anthony B
18.Limb By Limb - Cutty Ranks
19.Duck - Red Dragon
20.DJ Of The Year - Horse Man
21.Bounce - Flourgon
22.Dead This Time - Bounty Killa
23.Gun In A Baggy - Little Lenny
24.No Boom Boom - Bunny General
25.Poco Man Jam - Gregory Peck
26.Sonia Come Back - Coco Tea
27.Caan Dun - Shabba Ranks
28.Kuff - Shelly Thunder
29.Bam Bam - Tigar
30.Jump Up - Admiral Bailey
31.Nowhere Better Than Yard - Admiral Bailey
32.Get Up Stand Up And Rock - Shabba Ranks
33.Crying Time - Coco Tea
34.Ah Murder - Pad Anthony
35.None A That - Tullo T
36.Rock It Tonight - Johnny Osbourne
37.Deh Wid You - Jr Cat
38.Vigilante - Buju Banton
39.Champion - Buju Banton
40.Stand Firm - Bounty Killa
41.Top A Top - Bounty Killa
42.Fitness - Bounty Killa & Angel Doolas
43.You Just Get Shot - Bounty Killa
44.Scare Him - Bounty Killa
45.Bun Out Di Chi Chi - Capleton
46.Gun Shot - Sizzla
47.Kill A Sound - Richie Spice & Mad Cobra
48.Execution - Collin Roach & Degree
49.My Sound Is Murder - Tony Curtis & Jigsy King
50.No Ice Cream Sound - Johnny Osbourne
51.Sound Killer - Nico Demus
52.Kill Ole Pan - King Everlord
53.Drum Pan Sound - Pliers
54.Killer Sound - Little Krik
55.We Do The Killing - Coco Tea
56.Hey Soundboy - Dr.Nuts, Major Christie & Emist Wilson
57.Two Sounds - Chronicle
58.Bad Boy Tune - Flourgon
59.Long Time Fren - Tippa Irie
60.Predominant - Papa San
61.Weed Man - Sluggy Ranks & Tuffest
62.Down In Jamaica - Red Fox & Naturalie
63.Sexy Body - Wayne Fire
64.Come Down - Super Cat
65.Lion Dance - Fire Ball
66.Big Up Yourself - Guan Chai
67.Feel'in So Good - Yoyo C
68.Dancehall History - Papa B & Boogie Man

自動売買の環境構築(AWS RDSに2億件豆乳)完了!

ここで精神年齢を測ったら37歳でした。

精神年齢測定

パズドラに課金して金の卵出て喜ぶ精神年齢が37歳とはこれいかに。

(# ちなみにDBガチャは悟空があたりました(^^)/)

 

f:id:gwaan_so:20140605161154p:plain

 

 

で、 自動売買アルゴリズムを考えて遊んで暮らすを実現するために、昨日から開発用DBを構築してました。

「から」というのは、ずっと構築していたのではなく、データ投入にものすごく時間がかかったからです。(データ取得、投入ツールも泣く泣く作りました・・。)

15年の分足データを突っ込み、投入総件数 約2億件で、容量が10GBいかないくらいでした。RDSでは20GBまで無料で使えるので問題なしです('◇')ゞ

※秒足データはありませんでしたが、あったとしても単純にこの60倍・・・

 トラフィックの問題もあるし、120億件はさすがきついので実現厳しそうかな。

 2億件の投入処理で12時間かかったので、Insertだけで1か月かかるとか笑

突っ込んだ結果はだいたい全銘柄で、2-3万/日って感じなのでこれから爆発的に増えることはなさそうです。 デイリー更新はEC2にバッチでもおこうかなー。

突っ込んだ結果はこんな感じ。

 

f:id:gwaan_so:20140605182431p:plain

 

週末からこのデータをどう使えば取引で儲けらるのか考えていこうと思います。

 

自動売買アルゴリズムを考えて、遊んで暮らす

昔からちょっと考えてた為替の自動売買アルゴリズムが、低コストで具現化できそうな感じがしたので少し考えてみました。

 

Gitでプロジェクト立ち上げたので、

誰か一緒に作りましょう! 

https://github.com/Shinya-T/make-money