/* * QUANTCONNECT.COM - Democratizing Finance, Empowering Individuals. * Lean Algorithmic Trading Engine v2.0. Copyright 2014 QuantConnect Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ using System; using System.Collections.Generic; using Newtonsoft.Json; using QuantConnect.Orders; using QuantConnect.Packets; namespace QuantConnect { /// /// Base class for backtesting and live results that packages result data. /// /// /// public class Result { /// /// Contains population averages scores over the life of the algorithm /// [JsonProperty(PropertyName = "AlphaRuntimeStatistics", NullValueHandling = NullValueHandling.Ignore)] public AlphaRuntimeStatistics AlphaRuntimeStatistics; /// /// Charts updates for the live algorithm since the last result packet /// [JsonProperty(PropertyName = "Charts", NullValueHandling = NullValueHandling.Ignore)] public IDictionary Charts; /// /// Order updates since the last result packet /// [JsonProperty(PropertyName = "Orders", NullValueHandling = NullValueHandling.Ignore)] public IDictionary Orders; /// /// OrderEvent updates since the last result packet /// [JsonProperty(PropertyName = "OrderEvents", NullValueHandling = NullValueHandling.Ignore)] public List OrderEvents; /// /// Trade profit and loss information since the last algorithm result packet /// [JsonProperty(PropertyName = "ProfitLoss", NullValueHandling = NullValueHandling.Ignore)] public IDictionary ProfitLoss; /// /// Statistics information sent during the algorithm operations. /// /// Intended for update mode -- send updates to the existing statistics in the result GUI. If statistic key does not exist in GUI, create it [JsonProperty(PropertyName = "Statistics", NullValueHandling = NullValueHandling.Ignore)] public IDictionary Statistics; /// /// Runtime banner/updating statistics in the title banner of the live algorithm GUI. /// [JsonProperty(PropertyName = "RuntimeStatistics", NullValueHandling = NullValueHandling.Ignore)] public IDictionary RuntimeStatistics; /// /// Server status information, including CPU/RAM usage, ect... /// [JsonProperty(PropertyName = "ServerStatistics", NullValueHandling = NullValueHandling.Ignore)] public IDictionary ServerStatistics; } }