Overall Statistics |
Total Trades 1 Average Win 0% Average Loss 0% Compounding Annual Return 35.255% Drawdown 3.200% Expectancy 0 Net Profit 0% Sharpe Ratio 2.859 Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha 0.416 Beta -0.3 Annual Standard Deviation 0.106 Annual Variance 0.011 Information Ratio -0.427 Tracking Error 0.173 Treynor Ratio -1.01 Total Fees $1.00 |
using System.Net; namespace QuantConnect { /* * Example of how to download current prices from Google Finance * by: Jean-Paul van Brakel */ public class BasicTemplateAlgorithm : QCAlgorithm { static bool retrieved; static double VIX; //Initialize the data and resolution you require for your strategy: public override void Initialize() { retrieved = false; //Start and End Date range for the backtest: SetStartDate(2013, 1, 1); SetEndDate(2013,6,1); //Cash allocation SetCash(25000); //Add as many securities as you like. All the data will be passed into the event handler: AddSecurity(SecurityType.Equity, "SPY", Resolution.Daily); } public static void GetVIX() { string address = "http://www.google.com/finance/info?q=INDEXCBOE%3aVIX"; WebClient client = new WebClient(); string reply = client.DownloadString(address); int start = reply.IndexOf("$"); int end = reply.IndexOf("\"", start); VIX = Convert.ToDouble(reply.Substring(start+1, end-start-1)); Console.WriteLine("\n> Current VIX price:\t"+VIX+"\t("+DateTime.Now.TimeOfDay+")\n\n"); } //Data Event Handler: New data arrives here. "TradeBars" type is a dictionary of strings so you can access it by symbol. public void OnData(TradeBars data) { if (!retrieved) { GetVIX(); retrieved = true; } if (!Portfolio.HoldStock) { int quantity = (int)Math.Floor(Portfolio.Cash / data["SPY"].Close); //Order function places trades: enter the string symbol and the quantity you want: Order("SPY", quantity); //Debug sends messages to the user console: "Time" is the algorithm time keeper object Debug("Purchased SPY on " + Time.ToShortDateString()); } } } }