システムトレードで使えそうな、C#のサンプルなどを載せます。

Yahoo!ファナンスから日経平均株価の株価時系列データをダウンロードするサンプルプログラム

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Net; 

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Yahoo!ファナンスから日経平均株価の株価時系列データをダウンロードする
            string url = @"http://table.yahoo.co.jp/t?c=2008&a=1&b=1&f=2008&d=2&e=31&g=d&s=998407.o&y=0&z=998407.o";
            WebRequest req = WebRequest.Create(url);
            WebResponse res = req.GetResponse();
            Stream st = res.GetResponseStream();
            StreamReader sr = new StreamReader(st, Encoding.GetEncoding("EUC-JP"));
            string html = sr.ReadToEnd();   // 取得したデータをコンソールに出力してみる
            Console.Write(html);
            sr.Close();
            st.Close();

            // ダウンロードしたデータはhtmlなのでそのままでは使えない。
            // htmlを解析して株価時系列データのみを抽出する必要がある

            Console.ReadKey();  // キー入力待ち
        }
    }
}
		

Split

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Splitのテスト

            string str = "4753.t,(株)ライブドア,マザーズ,1,2001/05/28[1:3]2003/06/25[1:10]2003/12/25[1:100]2004/06/25[1:10]";
            string[] words = str.Split(',');
            int len = words.Length;
            Console.WriteLine(len.ToString());
            for(int i = 0;i < len;i++)
            {
                Console.WriteLine(words[i]);
            }
            Console.ReadKey();  // キー入力待ち
        }
    }
}
		

日付をフォーマットして文字列にする

string str0 = String.Format("{0:yyyyMMdd}",DateTime.Now);
string str1 = String.Format("{0:yyyy/MM/dd hh:mm:ss}", DateTime.Now);
string str2 = DateTime.Now.ToString("yyyy/MM/dd");
		

小数点のフォーマット

double value = 123.456789;
string s = value.ToString("f2");
Console.WriteLine(s);