| Overall Statistics |
|
Total Trades 2 Average Win 0.06% Average Loss 0% Compounding Annual Return 0.340% Drawdown 0.000% Expectancy 0 Net Profit 0.058% Sharpe Ratio 4.212 Probabilistic Sharpe Ratio 92.949% Loss Rate 0% Win Rate 100% Profit-Loss Ratio 0 Alpha 0.003 Beta 0 Annual Standard Deviation 0.001 Annual Variance 0 Information Ratio -1.583 Tracking Error 0.127 Treynor Ratio 11.648 Total Fees $2.33 |
namespace QuantConnect
{
public class BuyOneSecurity : QCAlgorithm
{
string _ticker = "tco";
private Symbol _symbol;
private Identity _price;
public override void Initialize()
{
SetStartDate(2020, 12, 01);
SetEndDate(2021, 02, 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();
}
}
}