investor’s blog

兼業投資家の記録。長期ファンダメンタル。インデックス投資。システムトレード。プログラミング。全てをシンプルに。

マッピングファイルを使ってコード変換(等)を行う(C#)

外部ファイルなどにマッピング情報が用意されていて、それを元に変換を行いたい。ってことはよくあると思いますが、いまいち正解がわからない。

今作っている簡単なツールでは、下記コードのようにしている。CSVファイルを読み込んで、それをDictionaryに格納しておく。変換したい側は、変換元をkeyを渡せば変換先をvalueとして返してくる。

逆変換も必要であれば、keyとvalueが逆のDictionaryを用意すればいいかと。

    public static class CodeConversion
    {
        Dictionary mappingDictionary;

        CodeConversion()
        {
            var file = new StreamReader(@".\mapping.csv");

            string line;

            while ((line = file.ReadLine()) != null)
            {
                var keyValue = line.Split(',');
                mappingDictionary.Add(keyValue[0], keyValue[1]);
            }

            file.Close();
        }
    }

捨てたもの

ブラックデニム
数年前にユニクロで買ったもの。先日新しいブラックデニムを購入したので処分。
スーツ用のベルト
穴が大分広がってしまった。同じく先日新しいベルトを購入したので処分。
デブサミお土産
デベロッパーズサミットというIT系イベントでもらった紙類。2月実施なのでもっと早く捨てるべきだった、

この後バスタオルも新しいものに変えるので捨てる予定。物をどんどん捨てる癖をつけたい。

洋服の購入

普通シンプルライフの記事だと、捨てることを書く気がしますが、今回は洋服を買った記事です。

クレジットカード会社からセールの招待が来たので、行ってきました。

ブラックデニム。 休日は大体ブルーデニムなので、ローテーションに追加。使い勝手が良いことを期待。

休日用のベルト。

出勤用のベルト。ヘタったベルトがいくつかあるので、そっちは捨てようかな。

ベスト。

基本的に使い回しが効きそうなものだけ購入するように気をつけています。 いい歳なので安物買いの銭失いも避けるようにしています。

ドルチェ&ガッバーナコンプリートブック (バウハウスMOOK)

ドルチェ&ガッバーナコンプリートブック (バウハウスMOOK)

Yahoo!ファイナンスから株価情報を取得してはいけない

システムトレードを始めようとすると、どこからか株価情報を集めてくる方法を考えることになります。

そこで、1番最初に思いつくのがYahoo!ファイナンスからデータを取得する方法ではないでしょうか。

しかし、タイトルでも書いたように、Yahoo!ファイナンスから株価データを取得してはいけません。

正確に言うと、プログラムなどで短期間に大量アクセスすることが禁止されています。

Yahoo!ファイナンスでは、Yahoo!ファイナンスに掲載している株価やその他のデータを、プログラム等を用いて機械的に取得する行為(スクレイピング等)について、システムに過度の負荷がかかり、安定したサービス提供に支障をきたす恐れがあることから禁止しています。

株価データのダウンロードを利用したい場合は、「VIP倶楽部」の「時系列データダウンロード」をご利用ください。

引用元http://www.yahoo-help.jp/app/answers/detail/p/546/a_id/93575/

筆者は、当初知らずにYahoo!ファイナンスから株価データをスクレイピングするプログラムを書いていて、テスト実行した際に気付きました。 (途中でエラーが出るようになり、アクセス禁止となった。

ちなみにプログラムを書く際に下記の書籍を参考にしたのだが、この書籍内でもヤフーファイナンスから取得しているので注意。

システムトレードを初心者が学ぶには良い書籍だと思うが、この点には注意が必要。

Rubyではじめるシステムトレード

Rubyではじめるシステムトレード

それでは、どこから株価データを取得すればいいかという話になるが、今は下記のサイトから取得する仕様でプログラムを書いている。

http://k-db.com

ところどころプログラムで扱い辛い仕様となっていたり、2007年からしかデータがないという欠点もあるが、あらかじめCSVが用意されていたりと便利な点も多い。

利用規約は見当たらないが、開発ブログでの、利用者からのコメントへの回答を見る限り、スクレイピングを禁止してはいないと思われる。

その他、よりよい株価データ提供サイトを探し中です。

このブログで扱うもの

  • 投資
    • ファンダメンタルを重視した長期投資
    • システムトレードを用いた短中期投資
  • プログラミング
    • システムトレードに関するプログラミング
  • シンプルライフ
    • シンプルライフを目指した行動