namespace QuantConnect
{
/*
* QuantConnect University: Full Basic Template:
*
* The underlying QCAlgorithm class is full of helper methods which enable you to use QuantConnect.
* We have explained some of these here, but the full algorithm can be found at:
* https://github.com/QuantConnect/QCAlgorithm/blob/master/QuantConnect.Algorithm/QCAlgorithm.cs
*/
public class MarginCallTest : QCAlgorithm
{
//Initialize the data and resolution you require for your strategy:
public override void Initialize()
{
//Start and End Date range for the backtest:
SetStartDate(2011, 12, 5);
SetEndDate(2011, 12, 10);
//Cash allocation
SetCash(2000);
//Add as many securities as you like. All the data will be passed into the event handler:
AddSecurity(SecurityType.Equity, "XIV", Resolution.Hour);
}
//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)
{
// "TradeBars" object holds many "TradeBar" objects: it is a dictionary indexed by the symbol:
//
// e.g. data["MSFT"] data["GOOG"]
Log(String.Format("Current Portfolio Value: {0}\tMargin Remaining: {1}", Portfolio.TotalPortfolioValue.ToString("0.00"), Portfolio.MarginRemaining.ToString("0.00")));
if (Time.Hour == 15 && Portfolio.Invested == false)
{
SetHoldings("XIV", 2.0, true);
}
}
}
}