0a9dc2c71c
* Fix pandas converter to handle list of data with different symbols * Properly convert list of data into dataframe Take into consideration data for multiple symbols in the same list * Cleanup * Index dataframes by symbol object instead of SID string * Add symbol equality operator to compare against object * Exclude "ID" from option chain dataframe * Minor fix * Add greeks columns directly in option chain dataframe. Also add pass-through properties for greek values in OptionUniverse * Some cleanup * Minor fix * Add new QCAlgorithm.OptionChains() method - Use OptionChains as output - Add DataFrame to OptionChain and OptionChains - Rename Greeks classes - Add ISymbolProvider for classes that have a symbol (IBaseData, OptionContract) * Unify QCAlgorithmOptionChain API Also refactor OptionContract to handle: (1) Actual market data and option price model data, and (2) OptionUniverse data * Pass symbol properties to OptionUniverse option chain from algorithm * Format OptionContract for dataframe * Minor fix * Add multiple option chains api regression algorithms and other minor changes * Address peer review Add NullGreeks class: keep ModeledGreeks as internal as possible * Minor fix and add PandasConverter unit tests * Peer review: Non-thread-safe Lazy for Python * Handle Greeks unwrapping by PandasData * PandasData cleanup * Add data and other minor changes * Unit test fix * Update Pythonnet to 2.0.39 * Cleanup * PandasData handling children class members Address peer review * Fix: indexing symbol conversion in pandas mapper * Fix pandas mapper to convert string keys to symbol only when necessary * Cleanup * Cleanup * Add PandasColumn python class to handle proper indexing This allows propery hash and equality between Symbols, C# strings and Python strings * Minor fixes * Symbol cache improvements * Minor fix for cache miss * Revert PandasMapper reserved names and improvements * Minor fix * Revert reserved names * Minor fix for Symbol equality operators --------- Co-authored-by: Martin Molinero <martin.molinero1@gmail.com>
80 lines
3.6 KiB
XML
80 lines
3.6 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
<PropertyGroup>
|
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
|
<RootNamespace>QuantConnect.Algorithm</RootNamespace>
|
|
<AssemblyName>QuantConnect.Algorithm</AssemblyName>
|
|
<TargetFramework>net6.0</TargetFramework>
|
|
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
|
|
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
|
|
<AnalysisMode>AllEnabledByDefault</AnalysisMode>
|
|
<OutputPath>bin\$(Configuration)\</OutputPath>
|
|
<DocumentationFile>bin\$(Configuration)\QuantConnect.Algorithm.xml</DocumentationFile>
|
|
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
|
<AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
|
|
<Description>QuantConnect LEAN Engine: Algorithm Project - Core QCAlgorithm implementation</Description>
|
|
<NoWarn>CA1062</NoWarn>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
|
<OutputPath>bin\Debug\</OutputPath>
|
|
<DebugType>full</DebugType>
|
|
<Optimize>false</Optimize>
|
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
|
<DebugType>pdbonly</DebugType>
|
|
<Optimize>true</Optimize>
|
|
<DefineConstants>TRACE</DefineConstants>
|
|
</PropertyGroup>
|
|
<PropertyGroup>
|
|
<PackageLicenseFile>LICENSE</PackageLicenseFile>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<PackageReference Include="QuantConnect.pythonnet" Version="2.0.39" />
|
|
<PackageReference Include="MathNet.Numerics" Version="5.0.0" />
|
|
<PackageReference Include="Newtonsoft.Json" Version="13.0.2" />
|
|
<PackageReference Include="NodaTime" Version="3.0.5" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Compile Include="..\Common\Properties\SharedAssemblyInfo.cs" Link="Properties\SharedAssemblyInfo.cs" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\Configuration\QuantConnect.Configuration.csproj" />
|
|
<ProjectReference Include="..\Indicators\QuantConnect.Indicators.csproj" />
|
|
<ProjectReference Include="..\Common\QuantConnect.csproj" />
|
|
<ProjectReference Include="..\Logging\QuantConnect.Logging.csproj" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<Content Include="Alphas\NullAlphaModel.py">
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</Content>
|
|
<Content Include="Execution\ImmediateExecutionModel.py">
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</Content>
|
|
<Content Include="Execution\NullExecutionModel.py">
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</Content>
|
|
<Content Include="Portfolio\NullPortfolioConstructionModel.py">
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</Content>
|
|
<Content Include="Risk\CompositeRiskManagementModel.py">
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</Content>
|
|
<Content Include="Risk\NullRiskManagementModel.py">
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</Content>
|
|
<Content Include="Selection\ManualUniverseSelectionModel.py">
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</Content>
|
|
<Content Include="Selection\UniverseSelectionModel.py">
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</Content>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<None Include="..\LICENSE">
|
|
<Pack>True</Pack>
|
|
<PackagePath></PackagePath>
|
|
</None>
|
|
</ItemGroup>
|
|
</Project>
|