Overall Statistics
Total Orders
1
Average Win
0%
Average Loss
0%
Compounding Annual Return
-51.376%
Drawdown
13.200%
Expectancy
0
Net Profit
-5.319%
Sharpe Ratio
-1.956
Sortino Ratio
-2.66
Probabilistic Sharpe Ratio
12.920%
Loss Rate
0%
Win Rate
0%
Profit-Loss Ratio
0
Alpha
-0.11
Beta
1
Annual Standard Deviation
0.2
Annual Variance
0.04
Information Ratio
-1.486
Tracking Error
0.074
Treynor Ratio
-0.39
Total Fees
$2.90
Estimated Strategy Capacity
$62000000.00
Lowest Capacity Asset
AAPL R735QTJ8XC9X
Portfolio Turnover
3.54%
#region imports
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Linq;
    using System.Globalization;
    using System.Drawing;
    using QuantConnect;
    using System.Text.RegularExpressions;
    using QuantConnect.Algorithm.Framework;
    using QuantConnect.Algorithm.Framework.Selection;
    using QuantConnect.Algorithm.Framework.Alphas;
    using QuantConnect.Algorithm.Framework.Portfolio;
    using QuantConnect.Algorithm.Framework.Execution;
    using QuantConnect.Algorithm.Framework.Risk;
    using QuantConnect.Algorithm.Selection;
    using QuantConnect.Parameters;
    using QuantConnect.Benchmarks;
    using QuantConnect.Brokerages;
    using QuantConnect.Util;
    using QuantConnect.Interfaces;
    using QuantConnect.Algorithm;
    using QuantConnect.Indicators;
    using QuantConnect.Data;
    using QuantConnect.Data.Consolidators;
    using QuantConnect.Data.Custom;
    using QuantConnect.DataSource;
    using QuantConnect.Data.Fundamental;
    using QuantConnect.Data.Market;
    using QuantConnect.Data.UniverseSelection;
    using QuantConnect.Notifications;
    using QuantConnect.Orders;
    using QuantConnect.Orders.Fees;
    using QuantConnect.Orders.Fills;
    using QuantConnect.Orders.Slippage;
    using QuantConnect.Scheduling;
    using QuantConnect.Securities;
    using QuantConnect.Securities.Equity;
    using QuantConnect.Securities.Future;
    using QuantConnect.Securities.Option;
    using QuantConnect.Securities.Forex;
    using QuantConnect.Securities.Crypto;   
    using QuantConnect.Securities.Interfaces;
    using QuantConnect.Storage;
    using QCAlgorithmFramework = QuantConnect.Algorithm.QCAlgorithm;
    using QCAlgorithmFrameworkBridge = QuantConnect.Algorithm.QCAlgorithm;
#endregion

using QuantConnect.DataSource;

namespace QuantConnect.DataLibrary.Tests
{
    public class QuiverInsiderTradingAlgorithm : QCAlgorithm
    {
        private Symbol _symbol, _datasetSymbol;

        public override void Initialize()
        {
            SetStartDate(2022, 2, 1);  //Set Start Date
            SetEndDate(2022, 2, 28);    //Set End Date
            _symbol = AddEquity("AAPL").Symbol;
            _datasetSymbol = AddData<QuiverInsiderTrading>(_symbol).Symbol;

            // history request
            var history = History<QuiverInsiderTrading>(new[] {_datasetSymbol}, 10, Resolution.Daily);
            Debug($"We got {history.Count()} items from historical data request of {_datasetSymbol}.");
        }

        public override void OnData(Slice slice)
        {
            foreach (var kvp in slice.Get<QuiverInsiderTrading>())
            {
                foreach (QuiverInsiderTrading insiderTrade in kvp.Value)
                {
                    // based on the custom data property we will buy or short the underlying equity
                    if (insiderTrade.Shares > 0)
                    {
                        SetHoldings(_symbol, 1);
                    }
                    else
                    {
                        Liquidate(_symbol);
                    }
                }
            }
        }
    }
}