Files
Martin-Molinero bbbab6d9a8
Regression Tests / build (push) Has been cancelled
Python Virtual Environments / build (push) Has been cancelled
Benchmarks / build (push) Has been cancelled
Build & Test Lean / build (push) Has been cancelled
Research Regression Tests / build (push) Has been cancelled
Refactor alpha statistics phase I (#7055)
* Refactor alpha statistics

- Refactor alpha statistics, cleaning up and simplifying no longer required calculations and scoring
- Adding new InsightEvaluator abstraction, adding C# & PY regression
  algorithms

* Optimization backtest result json converter update

* Address reviews

- Remove IAlphaHandler, move insight storage responsability to IResultHandler
  and centralizing insight collection on the QCAlgorithm.Insights to be
  reused by the framework models
- Fix portfolio turnover single day backtests and duplicate time
  sampling handling. Updating regression algorithms

* Add InsightCollection tests and minor fixes

* Adding more & improved tests
2023-03-10 13:12:23 -03:00

71 lines
2.5 KiB
C#

/*
* 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 NUnit.Framework;
using QuantConnect.Algorithm.CSharp;
namespace QuantConnect.Tests.Engine
{
[TestFixture]
public class AlgorithmLogTests
{
[TestCase(typeof(TestAlgorithmWithErrorLogOnInit))]
[TestCase(typeof(TestAlgorithmWithDebugLogOnInit))]
[TestCase(typeof(TestAlgorithmWithLogOnInit))]
public void AlgorithmCompletesWhenCallingErroLogOnInit(Type algorithmType)
{
var parameters = new RegressionTests.AlgorithmStatisticsTestParameters("QuantConnect.Tests.Engine.AlgorithmLogTests+" + algorithmType.Name,
Activator.CreateInstance<BasicTemplateDailyAlgorithm>().ExpectedStatistics,
Language.CSharp,
AlgorithmStatus.Completed);
AlgorithmRunner.RunLocalBacktest(parameters.Algorithm,
parameters.Statistics,
parameters.Language,
parameters.ExpectedFinalStatus,
algorithmLocation: "QuantConnect.Tests.dll");
}
public class TestAlgorithmWithErrorLogOnInit : BasicTemplateDailyAlgorithm
{
public override void Initialize()
{
base.Initialize();
Error("Error in Initialize");
}
}
public class TestAlgorithmWithDebugLogOnInit : BasicTemplateDailyAlgorithm
{
public override void Initialize()
{
base.Initialize();
Debug("Error in Initialize");
}
}
public class TestAlgorithmWithLogOnInit : BasicTemplateDailyAlgorithm
{
public override void Initialize()
{
base.Initialize();
Log("Error in Initialize");
}
}
}
}