| Overall Statistics |
|
Total Trades 1 Average Win 0% Average Loss 0% Compounding Annual Return -2.658% Drawdown 1.300% Expectancy 0 Net Profit -0.449% Sharpe Ratio -1.162 Probabilistic Sharpe Ratio 16.434% Loss Rate 0% Win Rate 0% Profit-Loss Ratio 0 Alpha -0.02 Beta -0.008 Annual Standard Deviation 0.018 Annual Variance 0 Information Ratio -1.059 Tracking Error 0.088 Treynor Ratio 2.559 Total Fees $1.00 |
namespace QuantConnect
{
public class BuyOneSecurity : QCAlgorithm
{
string _ticker = "spxs";
private Symbol _symbol;
private Identity _price;
public override void Initialize()
{
SetStartDate(2013, 07, 01);
SetEndDate(2013, 09, 01);
SetCash(100000);
_symbol = AddEquity(_ticker, Resolution.Daily, Market.USA).Symbol;
_price = Identity(_symbol);
PlotIndicator($"{_symbol.Value} Price", _price);
}
public override void OnData(Slice data)
{
if (!Portfolio.Invested)
{
SetHoldings(_symbol, 0.1);
Log($"Purchased Security {_symbol.ID}");
}
}
public override void OnSecuritiesChanged(SecurityChanges changes)
{
foreach (var securityChange in changes.RemovedSecurities)
{
Log(securityChange.Symbol.ID.ToString() + " - Delisted");
}
}
public void OnData(Splits data)
{
Log("_ticker: " + Securities[_ticker].Price);
var split = data[_ticker];
Log($"{split.Time.ToIso8601Invariant()} >> SPLIT >> {split.Symbol} - " +
$"{split.SplitFactor.ToStringInvariant()} - " +
$"{Portfolio.Cash.ToStringInvariant()} - " +
$"{Portfolio[_ticker].Quantity.ToStringInvariant()}"
);
}
public void OnData(Dividends data) // update this to Dividends dictionary
{
var dividend = data[_ticker];
Debug($"{dividend.Time.ToStringInvariant("o")} >> DIVIDEND >> {dividend.Symbol} - " +
$"{dividend.Distribution.ToStringInvariant("C")} - {Portfolio.Cash} - " +
$"{Portfolio[_ticker].Price.ToStringInvariant("C")}"
);
}
public override void OnEndOfAlgorithm()
{
Liquidate();
}
}
}