1 Commits

Author SHA1 Message Date
21cef893d8 commirt .gitignore 2026-03-10 21:38:11 -04:00
38 changed files with 44216 additions and 268 deletions

11
.gitignore vendored
View File

@@ -1,6 +1,5 @@
**/obj/ ################################################################################
**/bin/ # This .gitignore file was automatically created by Microsoft(R) Visual Studio.
**/.vs/ ################################################################################
bin
obj /obj/Debug
.vs

Binary file not shown.

View File

@@ -1,29 +1,6 @@
<?xml version="1.0"?> <?xml version="1.0" encoding="utf-8"?>
<configuration> <configuration>
<appSettings>
<add key="market_data" value="Database=market_data;Datasource=localhost;Username=root;Password=dbas"/>
<add key="portfolio_data" value="Database=portfolio_data;Datasource=localhost;Username=root;Password=dbas"/>
<add key="user_data" value="Database=user_data;Datasource=localhost;Username=root;Password=dbas"/>
<add key="sms_smtpaddress" value="smtp.gmail.com"/>
<add key="sms_smsusername" value="skessler1964@gmail.com"/>
<add key="sms_smspassword" value="xjfo isnf gmyi zovr"/>
<!--<add key="sms_smsrecipients" value="6315252496@vtext.com"/>-->
<add key="sms_smsrecipients" value="skessler1964sms@gmail.com"/>
<add key="proxy_address" value="http://127.0.0.1:8182"/>
<add key="proxy_GetLatestPriceYahoo" value="false"/>
<add key="proxy_GetLatestPriceFidelity" value="true"/>
<add key="proxy_GetLatestPriceBigCharts" value="false"/>
<add key="proxy_GetETFHoldings" value="false"/>
<add key="proxy_GetAnalystPriceTargetYahoo" value="true"/>
<add key="proxy_GetDailyPrices" value="false"/>
<add key="proxy_GetFundamentalEx" value="false"/>
<add key="proxy_GetDividendHistory" value="false"/>
<add key="proxy_GetAnalystPriceTargetMarketBeat" value="false"/>
<add key="proxy_GetCompanyHeadlinesSeekingAlphaV1" value="true"/>
<add key="proxy_GetCompanyHeadlinesSeekingAlphaV2" value="true"/>
</appSettings>
<startup> <startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2"/> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/>
</startup> </startup>
</configuration> </configuration>

View File

@@ -9,7 +9,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>CNNImageProcessor</RootNamespace> <RootNamespace>CNNImageProcessor</RootNamespace>
<AssemblyName>CNNImageProcessor</AssemblyName> <AssemblyName>CNNImageProcessor</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> <TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<TargetFrameworkProfile /> <TargetFrameworkProfile />
</PropertyGroup> </PropertyGroup>

View File

@@ -1,15 +1,7 @@
using MarketData.Cache; using System;
using MarketData.CNNProcessing;
using MarketData.DataAccess;
using MarketData.Generator.CMMomentum;
using MarketData.MarketDataModel;
using MarketData.Utils;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO; using System.IO;
using System.Linq; using MarketData.CNNProcessing;
using System.Text; using MarketData.Utils;
namespace CNNImageProcessor namespace CNNImageProcessor
{ {
@@ -26,72 +18,6 @@ namespace CNNImageProcessor
GenerateImageData(@"C:\DeepLearningImageTests\DeepLearningImageData\RawData1",@"c:\DeepLearningImageTests\DeepLearningImageData\Data\1"); GenerateImageData(@"C:\DeepLearningImageTests\DeepLearningImageData\RawData1",@"c:\DeepLearningImageTests\DeepLearningImageData\Data\1");
} }
/// <summary>
/// Process all images in sourcePath through PIL on the CNNServer and save them to destinationFolder
/// </summary>
/// <param name="sourcePath"></param>
/// <param name="destinationPath"></param>
public static bool ProcessImages(String sourcePath, String destinationPath,String cnnClientUrl="http://10.0.0.73:5000")
{
String[] files = Directory.GetFiles(sourcePath,"*.jpg");
CNNClient cnnClient=new CNNClient(cnnClientUrl);
if(!cnnClient.Ping())
{
Console.WriteLine($"CNNServer at {cnnClientUrl} is not responding to ping");
return false;
}
foreach(String file in files)
{
Console.WriteLine($"Processing {file}");
ImageHelper imageHelper=new ImageHelper();
imageHelper.LoadImage(file);
imageHelper.ToGrayScale();
imageHelper.Resize(128,128);
Stream stream = imageHelper.ToStream();
Stream processed = cnnClient.ProcessImage(stream);
imageHelper.LoadImage(processed);
String pureFileName = Path.GetFileName(file);
String saveFileName = destinationPath + @"\" + pureFileName;
imageHelper.Save(saveFileName);
}
return true;
}
/// <summary>
/// Process all images in sourcePath through PIL on the CNNServer and save them to destinationFolder
/// </summary>
/// <param name="sourcePath"></param>
/// <param name="destinationPath"></param>
public static bool ProcessImages(String sourcePath, String destinationPath,int resizeTo,String cnnClientUrl="http://10.0.0.73:5000")
{
String[] files = Directory.GetFiles(sourcePath,"*.jpg");
CNNClient cnnClient=new CNNClient(cnnClientUrl);
if(!cnnClient.Ping())
{
Console.WriteLine($"CNNServer at {cnnClientUrl} is not responding to ping");
return false;
}
foreach(String file in files)
{
Console.WriteLine($"Processing {file}");
ImageHelper imageHelper=new ImageHelper();
imageHelper.LoadImage(file);
// imageHelper.ToGrayScale();
imageHelper.Resize(resizeTo,resizeTo);
Stream stream = imageHelper.ToStream();
Stream processed = cnnClient.ProcessImage(stream);
imageHelper.LoadImage(processed);
String pureFileName = Path.GetFileName(file);
String saveFileName = destinationPath + @"\" + pureFileName;
imageHelper.Save(saveFileName);
}
return true;
}
public static void GenerateImageData(String inputFolder,String destinationFolder) public static void GenerateImageData(String inputFolder,String destinationFolder)
{ {
ImageHelper imageHelper = new ImageHelper(); ImageHelper imageHelper = new ImageHelper();
@@ -172,9 +98,6 @@ namespace CNNImageProcessor
} }
} }
/// <summary>
/// Processes an image through PIL on the CNN Server
/// </summary>
public static void ProcessImage() public static void ProcessImage()
{ {
ImageHelper imageHelper=new ImageHelper(); ImageHelper imageHelper=new ImageHelper();
@@ -206,169 +129,39 @@ namespace CNNImageProcessor
} }
} }
public static List<Holding> GenerateTrades() public static void ProcessImages(String sourcePath, String destinationPath)
{ {
List<Holding> holdings = new List<Holding>(); String[] files = Directory.GetFiles(sourcePath,"*.jpg");
DateGenerator dateGenerator = new DateGenerator(); foreach(String file in files)
DateTime startDate = DateTime.Parse("10/31/2019");
DateTime endDate = DateTime.Parse("02/01/2026");
DateTime actualEndDate = endDate;
DateTime analysisDate = DateTime.Now;
String modelPathFileName = @"C:\boneyard\marketdata\bin\Debug\saferun\CM20191031.txt";
CMSessionParams sessionParams = CMSessionManager.RestoreSession(modelPathFileName);
startDate = dateGenerator.GetCurrentMonthEnd(startDate);
endDate = dateGenerator.GetCurrentMonthEnd(endDate);
actualEndDate = dateGenerator.GenerateHistoricalDate(endDate, 60);
DateTime runDate = startDate;
sessionParams.CMParams.UseCNN=false; // don't use the model
sessionParams.CMParams.MaxPositions=100; // take up to 100
while(runDate < actualEndDate)
{ {
Console.WriteLine($"Running {runDate.ToShortDateString()}"); Console.WriteLine($"Processing {file}");
DateTime sellDate = dateGenerator.DaysAddActual(runDate, 90); ImageHelper imageHelper=new ImageHelper();
imageHelper.LoadImage(file);
CMGeneratorResult result = CMMomentumGenerator.GenerateCMCandidates(runDate, analysisDate, sessionParams.CMParams, new List<string>()); imageHelper.ToGrayScale();
Console.WriteLine($"Got {result.CMCandidates.Count} candidates for {runDate.ToShortDateString()}"); imageHelper.Resize(128,128);
foreach (CMCandidate candidate in result.CMCandidates) Stream stream = imageHelper.ToStream();
{ CNNClient cnnClient = new CNNClient("http://10.0.0.73:5000");
Holding holding = new Holding(); Stream processed = cnnClient.ProcessImage(stream);
holding.Symbol = candidate.Symbol; imageHelper.LoadImage(processed);
holding.PurchaseDate = runDate; String pureFileName = Path.GetFileName(file);
holding.SellDate = sellDate; String saveFileName = destinationPath + @"\" + pureFileName;
Price purchasePrice = GBPriceCache.GetInstance().GetPrice(holding.Symbol, holding.PurchaseDate); imageHelper.Save(saveFileName);
Price sellPrice = GBPriceCache.GetInstance().GetPrice(holding.Symbol, holding.SellDate);
if (null == purchasePrice || null == sellPrice) continue;
holding.PurchasePrice = purchasePrice.Close;
holding.SellPrice = sellPrice.Close;
holding.GainLoss = holding.SellPrice - holding.PurchasePrice;
holding.GainLossPercent = ((holding.SellPrice - holding.PurchasePrice) / holding.PurchasePrice);
holdings.Add(holding);
}
runDate = dateGenerator.DaysAddActual(runDate, 30);
runDate = dateGenerator.GetCurrentMonthEnd(runDate);
}
return holdings;
}
public static void GenerateTrainingImages()
{
// model training will happen on these folders C:\boneyard\DeepLearning\data\0 C:\boneyard\DeepLearning\data\1
CNNProcessor.GenerateTraining(@"C:\Data"); // This will generate into C:\Data\0 and C:\Data\1
ProcessImages(@"C:\Data\0",@"C:\boneyard\DeepLearning\ModelInputData\0"); // Process through PIL and put in C:\boneyard\DeepLearning\ModelInputData\0
ProcessImages(@"C:\Data\1",@"C:\boneyard\DeepLearning\ModelInputData\1"); // Process through PIL and put in C:\boneyard\DeepLearning\ModelInputData\1
}
public static void ClearFolderPath(String strFolderPath)
{
Console.WriteLine($"Cleaning {strFolderPath}");
if(String.IsNullOrEmpty(strFolderPath))throw new InvalidDataException($"{nameof(strFolderPath)} cannot be null");
if(!Directory.Exists(strFolderPath))
{
Directory.CreateDirectory(strFolderPath);
}
else
{
String[] pathFileNames = Directory.GetFiles(strFolderPath);
Console.WriteLine($"Deleting {pathFileNames.Length} files from {strFolderPath}");
foreach(String file in pathFileNames)
{
File.Delete(file);
}
} }
} }
public static List<Holding> ReadHoldings(String strPathFileName)
{
String strLine;
List<Holding> universe = new List<Holding>();
StreamReader inStream = new StreamReader(strPathFileName);
inStream.ReadLine(); // header
while (null != (strLine = inStream.ReadLine()))
{
Holding holding = Holding.FromString(strLine);
if (null == holding) continue;
universe.Add(holding);
}
inStream.Close();
inStream.Dispose();
Console.WriteLine($"Read {universe.Count} holdings");
return universe;
}
public static (List<Holding> avoid, List<Holding> good) GenerateCodeTestCases(List<Holding> universe)
{
double validationPercent=0.05;
double validationPercentUnseen=0.50;
Console.WriteLine($"Read {universe.Count} holdings");
List<Holding> avoid = universe.Where(x=>x.GainLoss<-.05).ToList();
List<Holding> good=universe.Where(x=>x.GainLoss>.05).ToList();
int validationCount = (int)(validationPercent * universe.Count);
Random rng = new Random();
List<Holding> goodValidation = good.OrderBy(x => rng.Next()).Take(validationCount).ToList();
int goodUnseenCount = (int)(validationPercentUnseen * goodValidation.Count);
List<Holding> goodValidationUnseen = goodValidation.OrderBy(x => rng.Next()).Take(goodUnseenCount).ToList();
good.RemoveAll(x => goodValidationUnseen.Contains(x));
Console.WriteLine($"Validation sample size: {goodValidation.Count}");
Console.WriteLine($"Unseen validation removed from good: {goodValidationUnseen.Count}");
Console.WriteLine($"Remaining good count: {good.Count}");
List<Holding> avoidValidation = avoid.OrderBy(x => rng.Next()).Take(validationCount).ToList();
int avoidUnseenCount = (int)(validationPercentUnseen * avoidValidation.Count);
List<Holding> avoidValidationUnseen = avoidValidation.OrderBy(x => rng.Next()).Take(avoidUnseenCount).ToList();
avoid.RemoveAll(x => avoidValidationUnseen.Contains(x));
Console.WriteLine($"Validation sample size: {avoidValidation.Count}");
Console.WriteLine($"Unseen validation removed from avoid: {avoidValidationUnseen.Count}");
Console.WriteLine($"Remaining avoid count: {avoid.Count}");
return (avoid, good);
}
public static void GenerateTrainingImages(List<Holding> avoid, List<Holding> good)
{
int imageSize=224;
int dayCount=90; // 90
Console.WriteLine($"Generate training into {@"C:\Data"}");
CNNProcessor.GenerateTraining(avoid, good, imageSize,dayCount, TestCase.GenerateType.BollingerBandWithVIX,@"C:\Data");
ClearFolderPath(@"C:\boneyard\DeepLearning\ModelInputData\0");
ClearFolderPath(@"C:\boneyard\DeepLearning\ModelInputData\1");
if(!ProcessImages(@"C:\Data\0",@"C:\boneyard\DeepLearning\ModelInputData\0",imageSize)) // Process through PIL and put in C:\boneyard\DeepLearning\ModelInputData\0
{
Console.WriteLine($"Process image failed, is the server running?");
}
if(!ProcessImages(@"C:\Data\1",@"C:\boneyard\DeepLearning\ModelInputData\1",imageSize)) // Process through PIL and put in C:\boneyard\DeepLearning\ModelInputData\1
{
Console.WriteLine($"Process image failed, is the server running?");
}
Console.WriteLine("Please copy these files into the training folder.");
}
/// <summary>
/// This will generate images into C:\boneyard\DeepLearning\ModelInputData\0 and C:\boneyard\DeepLearning\ModelInputData\1
/// You should then copy the generated images into C:\boneyard\DeepLearning\Data folder and then proceed to train tbe latest model
/// which at the time of writing this is model_sk_convnext_v1.py. After running the model you shoukd then run
/// verify_model_sk_convnext_v1.py. This will produce a validation score which at the time of writing is 99%. It will also produce
/// some output images including the confusion matrix.
/// </summary>
/// <param name="args"></param>
static void Main(string[] args) static void Main(string[] args)
{ {
// The modified flow // ProcessImages(@"C:\Data\0",@"C:\DeepLearningImageTests\DeepLearningImageData\Data\0");
//List<Holding> holdings = GenerateTrades(); // generate a holding set from the CMMomentum monthly candidates // ProcessImages(@"C:\Data\1",@"C:\DeepLearningImageTests\DeepLearningImageData\Data\1");
List<Holding> holdings = ReadHoldings("holdings.csv"); // read a holding set that was previously generated
(List<Holding> avoid, List<Holding> good)=GenerateCodeTestCases(holdings); // split the dataset into avoid and good
GenerateTrainingImages(avoid, good); // GenerateImageData();
// Clear cache at the end // TestCNN();
GBPriceCache.GetInstance().Dispose(); // ProcessImage();
// CreateValidationImages(@"C:\2",@"C:\3");
} }
} }
} }

BIN
bin/Debug/Axiom.Core.dll Normal file

Binary file not shown.

View File

@@ -0,0 +1,11 @@
<?xml version="1.0"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="log4net" publicKeyToken="669e0ddf0bb1aa2a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-2.0.8.0" newVersion="2.0.8.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/></startup></configuration>

BIN
bin/Debug/Axiom.Core.pdb Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/>
</startup>
</configuration>

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/>
</startup>
</configuration>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>

Binary file not shown.

BIN
bin/Debug/MarketDataLib.dll Normal file

Binary file not shown.

BIN
bin/Debug/MarketDataLib.pdb Normal file

Binary file not shown.

BIN
bin/Debug/MySql.Data.dll Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

11262
bin/Debug/Newtonsoft.Json.xml Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -0,0 +1,200 @@
<?xml version="1.0" encoding="utf-8"?><doc>
<assembly>
<name>System.Runtime.CompilerServices.Unsafe</name>
</assembly>
<members>
<member name="T:System.Runtime.CompilerServices.Unsafe">
<summary>Contains generic, low-level functionality for manipulating pointers.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Add``1(``0@,System.Int32)">
<summary>Adds an element offset to the given reference.</summary>
<param name="source">The reference to add the offset to.</param>
<param name="elementOffset">The offset to add.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the addition of offset to pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Add``1(``0@,System.IntPtr)">
<summary>Adds an element offset to the given reference.</summary>
<param name="source">The reference to add the offset to.</param>
<param name="elementOffset">The offset to add.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the addition of offset to pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.AddByteOffset``1(``0@,System.IntPtr)">
<summary>Adds a byte offset to the given reference.</summary>
<param name="source">The reference to add the offset to.</param>
<param name="byteOffset">The offset to add.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the addition of byte offset to pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.AreSame``1(``0@,``0@)">
<summary>Determines whether the specified references point to the same location.</summary>
<param name="left">The first reference to compare.</param>
<param name="right">The second reference to compare.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>true if <paramref name="left">left</paramref> and <paramref name="right">right</paramref> point to the same location; otherwise, false.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.As``1(System.Object)">
<summary>Casts the given object to the specified type.</summary>
<param name="o">The object to cast.</param>
<typeparam name="T">The type which the object will be cast to.</typeparam>
<returns>The original object, casted to the given type.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.As``2(``0@)">
<summary>Reinterprets the given reference as a reference to a value of type <typeparamref name="TTo">TTo</typeparamref>.</summary>
<param name="source">The reference to reinterpret.</param>
<typeparam name="TFrom">The type of reference to reinterpret..</typeparam>
<typeparam name="TTo">The desired type of the reference.</typeparam>
<returns>A reference to a value of type <typeparamref name="TTo">TTo</typeparamref>.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.AsPointer``1(``0@)">
<summary>Returns a pointer to the given by-ref parameter.</summary>
<param name="value">The object whose pointer is obtained.</param>
<typeparam name="T">The type of object.</typeparam>
<returns>A pointer to the given value.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.AsRef``1(System.Void*)">
<summary>Reinterprets the given location as a reference to a value of type <typeparamref name="T">T</typeparamref>.</summary>
<param name="source">The location of the value to reference.</param>
<typeparam name="T">The type of the interpreted location.</typeparam>
<returns>A reference to a value of type <typeparamref name="T">T</typeparamref>.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.ByteOffset``1(``0@,``0@)">
<summary>Determines the byte offset from origin to target from the given references.</summary>
<param name="origin">The reference to origin.</param>
<param name="target">The reference to target.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>Byte offset from origin to target i.e. <paramref name="target">target</paramref> - <paramref name="origin">origin</paramref>.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Copy``1(System.Void*,``0@)">
<summary>Copies a value of type <typeparamref name="T">T</typeparamref> to the given location.</summary>
<param name="destination">The location to copy to.</param>
<param name="source">A reference to the value to copy.</param>
<typeparam name="T">The type of value to copy.</typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Copy``1(``0@,System.Void*)">
<summary>Copies a value of type <typeparamref name="T">T</typeparamref> to the given location.</summary>
<param name="destination">The location to copy to.</param>
<param name="source">A pointer to the value to copy.</param>
<typeparam name="T">The type of value to copy.</typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.CopyBlock(System.Byte@,System.Byte@,System.UInt32)">
<summary>Copies bytes from the source address to the destination address.</summary>
<param name="destination">The destination address to copy to.</param>
<param name="source">The source address to copy from.</param>
<param name="byteCount">The number of bytes to copy.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.CopyBlock(System.Void*,System.Void*,System.UInt32)">
<summary>Copies bytes from the source address to the destination address.</summary>
<param name="destination">The destination address to copy to.</param>
<param name="source">The source address to copy from.</param>
<param name="byteCount">The number of bytes to copy.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.CopyBlockUnaligned(System.Void*,System.Void*,System.UInt32)">
<summary>Copies bytes from the source address to the destination address
without assuming architecture dependent alignment of the addresses.</summary>
<param name="destination">The destination address to copy to.</param>
<param name="source">The source address to copy from.</param>
<param name="byteCount">The number of bytes to copy.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.CopyBlockUnaligned(System.Byte@,System.Byte@,System.UInt32)">
<summary>Copies bytes from the source address to the destination address
without assuming architecture dependent alignment of the addresses.</summary>
<param name="destination">The destination address to copy to.</param>
<param name="source">The source address to copy from.</param>
<param name="byteCount">The number of bytes to copy.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.InitBlock(System.Byte@,System.Byte,System.UInt32)">
<summary>Initializes a block of memory at the given location with a given initial value.</summary>
<param name="startAddress">The address of the start of the memory block to initialize.</param>
<param name="value">The value to initialize the block to.</param>
<param name="byteCount">The number of bytes to initialize.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.InitBlock(System.Void*,System.Byte,System.UInt32)">
<summary>Initializes a block of memory at the given location with a given initial value.</summary>
<param name="startAddress">The address of the start of the memory block to initialize.</param>
<param name="value">The value to initialize the block to.</param>
<param name="byteCount">The number of bytes to initialize.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.InitBlockUnaligned(System.Byte@,System.Byte,System.UInt32)">
<summary>Initializes a block of memory at the given location with a given initial value
without assuming architecture dependent alignment of the address.</summary>
<param name="startAddress">The address of the start of the memory block to initialize.</param>
<param name="value">The value to initialize the block to.</param>
<param name="byteCount">The number of bytes to initialize.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.InitBlockUnaligned(System.Void*,System.Byte,System.UInt32)">
<summary>Initializes a block of memory at the given location with a given initial value
without assuming architecture dependent alignment of the address.</summary>
<param name="startAddress">The address of the start of the memory block to initialize.</param>
<param name="value">The value to initialize the block to.</param>
<param name="byteCount">The number of bytes to initialize.</param>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Read``1(System.Void*)">
<summary>Reads a value of type <typeparamref name="T">T</typeparamref> from the given location.</summary>
<param name="source">The location to read from.</param>
<typeparam name="T">The type to read.</typeparam>
<returns>An object of type <typeparamref name="T">T</typeparamref> read from the given location.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.ReadUnaligned``1(System.Byte@)">
<summary>Reads a value of type <typeparamref name="T">T</typeparamref> from the given location
without assuming architecture dependent alignment of the addresses.</summary>
<param name="source">The location to read from.</param>
<typeparam name="T">The type to read.</typeparam>
<returns>An object of type <typeparamref name="T">T</typeparamref> read from the given location.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.ReadUnaligned``1(System.Void*)">
<summary>Reads a value of type <typeparamref name="T">T</typeparamref> from the given location
without assuming architecture dependent alignment of the addresses.</summary>
<param name="source">The location to read from.</param>
<typeparam name="T">The type to read.</typeparam>
<returns>An object of type <typeparamref name="T">T</typeparamref> read from the given location.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.SizeOf``1">
<summary>Returns the size of an object of the given type parameter.</summary>
<typeparam name="T">The type of object whose size is retrieved.</typeparam>
<returns>The size of an object of type <typeparamref name="T">T</typeparamref>.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Subtract``1(``0@,System.Int32)">
<summary>Subtracts an element offset from the given reference.</summary>
<param name="source">The reference to subtract the offset from.</param>
<param name="elementOffset">The offset to subtract.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the subraction of offset from pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Subtract``1(``0@,System.IntPtr)">
<summary>Subtracts an element offset from the given reference.</summary>
<param name="source">The reference to subtract the offset from.</param>
<param name="elementOffset">The offset to subtract.</param>
<typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the subraction of offset from pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.SubtractByteOffset``1(``0@,System.IntPtr)">
<summary>Subtracts a byte offset from the given reference.</summary>
<param name="source">The reference to subtract the offset from.</param>
<param name="byteOffset"></param>
<typeparam name="T">The type of reference.</typeparam>
<returns>A new reference that reflects the subraction of byte offset from pointer.</returns>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.Write``1(System.Void*,``0)">
<summary>Writes a value of type <typeparamref name="T">T</typeparamref> to the given location.</summary>
<param name="destination">The location to write to.</param>
<param name="value">The value to write.</param>
<typeparam name="T">The type of value to write.</typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.WriteUnaligned``1(System.Byte@,``0)">
<summary>Writes a value of type <typeparamref name="T">T</typeparamref> to the given location
without assuming architecture dependent alignment of the addresses.</summary>
<param name="destination">The location to write to.</param>
<param name="value">The value to write.</param>
<typeparam name="T">The type of value to write.</typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.Unsafe.WriteUnaligned``1(System.Void*,``0)">
<summary>Writes a value of type <typeparamref name="T">T</typeparamref> to the given location
without assuming architecture dependent alignment of the addresses.</summary>
<param name="destination">The location to write to.</param>
<param name="value">The value to write.</param>
<typeparam name="T">The type of value to write.</typeparam>
</member>
</members>
</doc>

Binary file not shown.

View File

@@ -0,0 +1,166 @@
<?xml version="1.0" encoding="utf-8"?><doc>
<assembly>
<name>System.Threading.Tasks.Extensions</name>
</assembly>
<members>
<member name="T:System.Runtime.CompilerServices.ValueTaskAwaiter`1">
<typeparam name="TResult"></typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.ValueTaskAwaiter`1.GetResult">
<returns></returns>
</member>
<member name="P:System.Runtime.CompilerServices.ValueTaskAwaiter`1.IsCompleted">
<returns></returns>
</member>
<member name="M:System.Runtime.CompilerServices.ValueTaskAwaiter`1.OnCompleted(System.Action)">
<param name="continuation"></param>
</member>
<member name="M:System.Runtime.CompilerServices.ValueTaskAwaiter`1.UnsafeOnCompleted(System.Action)">
<param name="continuation"></param>
</member>
<member name="T:System.Threading.Tasks.ValueTask`1">
<summary>Provides a value type that wraps a <see cref="Task{TResult}"></see> and a <typeparamref name="TResult">TResult</typeparamref>, only one of which is used.</summary>
<typeparam name="TResult">The result.</typeparam>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.#ctor(System.Threading.Tasks.Task{`0})">
<summary>Initializes a new instance of the <see cref="ValueTask{TResult}"></see> class using the supplied task that represents the operation.</summary>
<param name="task">The task.</param>
<exception cref="T:System.ArgumentNullException">The <paramref name="task">task</paramref> argument is null.</exception>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.#ctor(`0)">
<summary>Initializes a new instance of the <see cref="ValueTask{TResult}"></see> class using the supplied result of a successful operation.</summary>
<param name="result">The result.</param>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.AsTask">
<summary>Retrieves a <see cref="Task{TResult}"></see> object that represents this <see cref="ValueTask{TResult}"></see>.</summary>
<returns>The <see cref="Task{TResult}"></see> object that is wrapped in this <see cref="ValueTask{TResult}"></see> if one exists, or a new <see cref="Task{TResult}"></see> object that represents the result.</returns>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.ConfigureAwait(System.Boolean)">
<summary>Configures an awaiter for this value.</summary>
<param name="continueOnCapturedContext">true to attempt to marshal the continuation back to the captured context; otherwise, false.</param>
<returns>The configured awaiter.</returns>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.CreateAsyncMethodBuilder">
<summary>Creates a method builder for use with an async method.</summary>
<returns>The created builder.</returns>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.Equals(System.Object)">
<summary>Determines whether the specified object is equal to the current object.</summary>
<param name="obj">The object to compare with the current object.</param>
<returns>true if the specified object is equal to the current object; otherwise, false.</returns>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.Equals(System.Threading.Tasks.ValueTask{`0})">
<summary>Determines whether the specified <see cref="ValueTask{TResult}"></see> object is equal to the current <see cref="ValueTask{TResult}"></see> object.</summary>
<param name="other">The object to compare with the current object.</param>
<returns>true if the specified object is equal to the current object; otherwise, false.</returns>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.GetAwaiter">
<summary>Creates an awaiter for this value.</summary>
<returns>The awaiter.</returns>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.GetHashCode">
<summary>Returns the hash code for this instance.</summary>
<returns>The hash code for the current object.</returns>
</member>
<member name="P:System.Threading.Tasks.ValueTask`1.IsCanceled">
<summary>Gets a value that indicates whether this object represents a canceled operation.</summary>
<returns>true if this object represents a canceled operation; otherwise, false.</returns>
</member>
<member name="P:System.Threading.Tasks.ValueTask`1.IsCompleted">
<summary>Gets a value that indicates whether this object represents a completed operation.</summary>
<returns>true if this object represents a completed operation; otherwise, false.</returns>
</member>
<member name="P:System.Threading.Tasks.ValueTask`1.IsCompletedSuccessfully">
<summary>Gets a value that indicates whether this object represents a successfully completed operation.</summary>
<returns>true if this object represents a successfully completed operation; otherwise, false.</returns>
</member>
<member name="P:System.Threading.Tasks.ValueTask`1.IsFaulted">
<summary>Gets a value that indicates whether this object represents a failed operation.</summary>
<returns>true if this object represents a failed operation; otherwise, false.</returns>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.op_Equality(System.Threading.Tasks.ValueTask{`0},System.Threading.Tasks.ValueTask{`0})">
<summary>Compares two values for equality.</summary>
<param name="left">The first value to compare.</param>
<param name="right">The second value to compare.</param>
<returns>true if the two <see cref="ValueTask{TResult}"></see> values are equal; otherwise, false.</returns>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.op_Inequality(System.Threading.Tasks.ValueTask{`0},System.Threading.Tasks.ValueTask{`0})">
<summary>Determines whether two <see cref="ValueTask{TResult}"></see> values are unequal.</summary>
<param name="left">The first value to compare.</param>
<param name="right">The seconed value to compare.</param>
<returns>true if the two <see cref="ValueTask{TResult}"></see> values are not equal; otherwise, false.</returns>
</member>
<member name="P:System.Threading.Tasks.ValueTask`1.Result">
<summary>Gets the result.</summary>
<returns>The result.</returns>
</member>
<member name="M:System.Threading.Tasks.ValueTask`1.ToString">
<summary>Returns a string that represents the current object.</summary>
<returns>A string that represents the current object.</returns>
</member>
<member name="T:System.Runtime.CompilerServices.AsyncMethodBuilderAttribute">
</member>
<member name="M:System.Runtime.CompilerServices.AsyncMethodBuilderAttribute.#ctor(System.Type)">
<param name="builderType"></param>
</member>
<member name="P:System.Runtime.CompilerServices.AsyncMethodBuilderAttribute.BuilderType">
<returns></returns>
</member>
<member name="T:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1">
<typeparam name="TResult"></typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.AwaitOnCompleted``2(``0@,``1@)">
<param name="awaiter"></param>
<param name="stateMachine"></param>
<typeparam name="TAwaiter"></typeparam>
<typeparam name="TStateMachine"></typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.AwaitUnsafeOnCompleted``2(``0@,``1@)">
<param name="awaiter"></param>
<param name="stateMachine"></param>
<typeparam name="TAwaiter"></typeparam>
<typeparam name="TStateMachine"></typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.Create">
<returns></returns>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.SetException(System.Exception)">
<param name="exception"></param>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.SetResult(`0)">
<param name="result"></param>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)">
<param name="stateMachine"></param>
</member>
<member name="M:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.Start``1(``0@)">
<param name="stateMachine"></param>
<typeparam name="TStateMachine"></typeparam>
</member>
<member name="P:System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder`1.Task">
<returns></returns>
</member>
<member name="T:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter">
<typeparam name="TResult"></typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.GetResult">
<returns></returns>
</member>
<member name="P:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.IsCompleted">
<returns></returns>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.OnCompleted(System.Action)">
<param name="continuation"></param>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.UnsafeOnCompleted(System.Action)">
<param name="continuation"></param>
</member>
<member name="T:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1">
<typeparam name="TResult"></typeparam>
</member>
<member name="M:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.GetAwaiter">
<returns></returns>
</member>
</members>
</doc>

BIN
bin/Debug/log4net.dll Normal file

Binary file not shown.

32464
bin/Debug/log4net.xml Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.6.2", FrameworkDisplayName = ".NET Framework 4.6.2")]

View File

@@ -0,0 +1 @@
7a8851dfe4828d0264c83cc4917d6c6bda5d2cd0

View File

@@ -0,0 +1,48 @@
C:\boneyard\CNNImageProcessor\CNNImageProcessor\bin\Debug\CNNImageProcessor.exe.config
C:\boneyard\CNNImageProcessor\CNNImageProcessor\bin\Debug\CNNImageProcessor.exe
C:\boneyard\CNNImageProcessor\CNNImageProcessor\bin\Debug\CNNImageProcessor.pdb
C:\boneyard\CNNImageProcessor\CNNImageProcessor\bin\Debug\MarketDataLib.dll
C:\boneyard\CNNImageProcessor\CNNImageProcessor\bin\Debug\MySql.Data.dll
C:\boneyard\CNNImageProcessor\CNNImageProcessor\bin\Debug\HtmlAgilityPack.dll
C:\boneyard\CNNImageProcessor\CNNImageProcessor\bin\Debug\Newtonsoft.Json.dll
C:\boneyard\CNNImageProcessor\CNNImageProcessor\bin\Debug\Axiom.Core.dll
C:\boneyard\CNNImageProcessor\CNNImageProcessor\bin\Debug\System.Threading.Tasks.Extensions.dll
C:\boneyard\CNNImageProcessor\CNNImageProcessor\bin\Debug\log4net.dll
C:\boneyard\CNNImageProcessor\CNNImageProcessor\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll
C:\boneyard\CNNImageProcessor\CNNImageProcessor\bin\Debug\MarketDataLib.pdb
C:\boneyard\CNNImageProcessor\CNNImageProcessor\bin\Debug\Newtonsoft.Json.pdb
C:\boneyard\CNNImageProcessor\CNNImageProcessor\bin\Debug\Newtonsoft.Json.xml
C:\boneyard\CNNImageProcessor\CNNImageProcessor\bin\Debug\Axiom.Core.pdb
C:\boneyard\CNNImageProcessor\CNNImageProcessor\bin\Debug\Axiom.Core.dll.config
C:\boneyard\CNNImageProcessor\CNNImageProcessor\bin\Debug\System.Threading.Tasks.Extensions.xml
C:\boneyard\CNNImageProcessor\CNNImageProcessor\bin\Debug\log4net.xml
C:\boneyard\CNNImageProcessor\CNNImageProcessor\bin\Debug\System.Runtime.CompilerServices.Unsafe.xml
C:\boneyard\CNNImageProcessor\CNNImageProcessor\obj\Debug\CNNImageProcessor.csproj.AssemblyReference.cache
C:\boneyard\CNNImageProcessor\CNNImageProcessor\obj\Debug\CNNImageProcessor.csproj.CoreCompileInputs.cache
C:\boneyard\CNNImageProcessor\CNNImageProcessor\obj\Debug\CNNImageProcessor.csproj.CopyComplete
C:\boneyard\CNNImageProcessor\CNNImageProcessor\obj\Debug\CNNImageProcessor.exe
C:\boneyard\CNNImageProcessor\CNNImageProcessor\obj\Debug\CNNImageProcessor.pdb
C:\boneyard\CNNImageProcessor\bin\Debug\CNNImageProcessor.exe.config
C:\boneyard\CNNImageProcessor\bin\Debug\CNNImageProcessor.exe
C:\boneyard\CNNImageProcessor\bin\Debug\CNNImageProcessor.pdb
C:\boneyard\CNNImageProcessor\bin\Debug\Axiom.Core.dll
C:\boneyard\CNNImageProcessor\bin\Debug\MarketDataLib.dll
C:\boneyard\CNNImageProcessor\bin\Debug\log4net.dll
C:\boneyard\CNNImageProcessor\bin\Debug\MySql.Data.dll
C:\boneyard\CNNImageProcessor\bin\Debug\HtmlAgilityPack.dll
C:\boneyard\CNNImageProcessor\bin\Debug\Newtonsoft.Json.dll
C:\boneyard\CNNImageProcessor\bin\Debug\System.Threading.Tasks.Extensions.dll
C:\boneyard\CNNImageProcessor\bin\Debug\System.Runtime.CompilerServices.Unsafe.dll
C:\boneyard\CNNImageProcessor\bin\Debug\Axiom.Core.pdb
C:\boneyard\CNNImageProcessor\bin\Debug\Axiom.Core.dll.config
C:\boneyard\CNNImageProcessor\bin\Debug\MarketDataLib.pdb
C:\boneyard\CNNImageProcessor\bin\Debug\log4net.xml
C:\boneyard\CNNImageProcessor\bin\Debug\Newtonsoft.Json.pdb
C:\boneyard\CNNImageProcessor\bin\Debug\Newtonsoft.Json.xml
C:\boneyard\CNNImageProcessor\bin\Debug\System.Threading.Tasks.Extensions.xml
C:\boneyard\CNNImageProcessor\bin\Debug\System.Runtime.CompilerServices.Unsafe.xml
C:\boneyard\CNNImageProcessor\obj\Debug\CNNImageProcessor.csproj.AssemblyReference.cache
C:\boneyard\CNNImageProcessor\obj\Debug\CNNImageProcessor.csproj.CoreCompileInputs.cache
C:\boneyard\CNNImageProcessor\obj\Debug\CNNImageProcessor.csproj.CopyComplete
C:\boneyard\CNNImageProcessor\obj\Debug\CNNImageProcessor.exe
C:\boneyard\CNNImageProcessor\obj\Debug\CNNImageProcessor.pdb

Binary file not shown.

Binary file not shown.