コード例 #1
0
ファイル: SimpleEngine.java プロジェクト: neosb/genotick
 @Override
 public List<TimePointStats> start(UserOutput output) {
   Thread.currentThread().setName("Main engine execution thread");
   double result = 1;
   initPopulation();
   TimePoint timePoint = new TimePoint(engineSettings.startTimePoint);
   List<TimePointStats> timePointStats = new ArrayList<>();
   while (engineSettings.endTimePoint.compareTo(timePoint) >= 0) {
     TimePointStats stat = executeTimePoint(timePoint);
     if (stat != null) {
       timePointStats.add(stat);
       result *= (stat.getPercentEarned() / 100 + 1);
       profitRecorder.recordProfit(stat.getPercentEarned());
       output.reportProfitForTimePoint(timePoint, (result - 1) * 100, stat.getPercentEarned());
       Debug.d("Time:", timePoint, "Percent earned so far:", (result - 1) * 100);
     }
     timePoint = timePoint.next();
   }
   if (!engineSettings.executionOnly) {
     savePopulation();
   }
   Debug.d(
       "Profit:",
       profitRecorder.getProfit(),
       "Drawdown:",
       profitRecorder.getMaxDrawdown(),
       "Profit / DD:",
       profitRecorder.getProfit() / profitRecorder.getMaxDrawdown());
   return timePointStats;
 }
コード例 #2
0
ファイル: SimpleEngine.java プロジェクト: neosb/genotick
 private void printPercentEarned(DataSetName name, Double actualChange, Prediction prediction) {
   double percent;
   if (prediction == Prediction.OUT) {
     Debug.d("No position");
     return;
   }
   if (prediction.isCorrect(actualChange)) percent = Math.abs(actualChange);
   else percent = -Math.abs(actualChange);
   Debug.d("Profit for", name, percent);
 }
コード例 #3
0
ファイル: SimpleEngine.java プロジェクト: neosb/genotick
 private void savePopulation() {
   String dirName = getSavedPopulationDirName();
   File dirFile = new File(dirName);
   if (!dirFile.exists() && !dirFile.mkdirs()) {
     Debug.d("Unable to create directory", dirName);
   } else {
     population.savePopulation(dirName);
   }
 }
コード例 #4
0
ファイル: Main.java プロジェクト: neosb/genotick
 private static void checkShowPopulation(Parameters parameters) {
   String value = parameters.getValue("showPopulation");
   if (value != null) {
     try {
       showPopulation(value);
     } catch (IllegalAccessException e) {
       Debug.d(e);
     }
     System.exit(0);
   }
 }
コード例 #5
0
ファイル: SimpleEngine.java プロジェクト: neosb/genotick
 private TimePointStats executeTimePoint(TimePoint timePoint) {
   List<ProgramData> programDataList = data.prepareProgramDataList(timePoint);
   if (programDataList.isEmpty()) return null;
   Debug.d("Starting TimePoint:", timePoint);
   TimePointResult timePointResult =
       timePointExecutor.execute(
           timePoint, programDataList, population, !engineSettings.executionOnly);
   TimePointStats timePointStats = TimePointStats.getNewStats(timePoint);
   for (DataSetResult dataSetResult : timePointResult.listDataSetResults()) {
     Prediction prediction = dataSetResult.getCumulativePrediction();
     Debug.d("Prediction for:", dataSetResult.getName(), prediction);
     Double actualChange = data.getActualChange(dataSetResult.getName(), timePoint);
     if (!actualChange.isNaN()) {
       Debug.d("Actual change:", actualChange);
       printPercentEarned(dataSetResult.getName(), actualChange, prediction);
       timePointStats.update(dataSetResult.getName(), actualChange, prediction);
     }
   }
   if (!engineSettings.executionOnly) {
     updatePopulation();
   }
   Debug.d("Finished TimePoint:", timePoint);
   return timePointStats;
 }
コード例 #6
0
ファイル: Debug.java プロジェクト: pangcong/genotick
 @SuppressWarnings("unused")
 public static void setDebugInfoNone() {
   Debug.setDebugInfo(params, DebugInfo.NONE);
 }
コード例 #7
0
ファイル: Debug.java プロジェクト: pangcong/genotick
 public static synchronized void d(Object... output) {
   Debug.log(params, output);
 }
コード例 #8
0
ファイル: Debug.java プロジェクト: pangcong/genotick
 @SuppressWarnings("unused")
 public static void setPrefix(String prefix) {
   Debug.setPrefix(params, prefix);
 }
コード例 #9
0
ファイル: Debug.java プロジェクト: pangcong/genotick
 public static void toFile(String path) {
   Debug.setOutputStream(new ToFile(path));
 }
コード例 #10
0
ファイル: Debug.java プロジェクト: pangcong/genotick
 public static void setShowTime(boolean enabled) {
   Debug.setShowTime(params, enabled);
 }
コード例 #11
0
ファイル: Debug.java プロジェクト: pangcong/genotick
 @SuppressWarnings("unused")
 public static void setAllowedPattern(String regex) {
   Debug.setAllowedPattern(params, regex);
 }
コード例 #12
0
ファイル: Debug.java プロジェクト: pangcong/genotick
 public void setAllowedPattern(String regex) {
   Debug.setAllowedPattern(params, regex);
 }
コード例 #13
0
ファイル: Debug.java プロジェクト: pangcong/genotick
 public void setDebugInfoFullTrace() {
   Debug.setDebugInfo(params, DebugInfo.TRACE);
 }
コード例 #14
0
ファイル: Debug.java プロジェクト: pangcong/genotick
 public void setDebugInfoFileAndLine() {
   Debug.setDebugInfo(params, DebugInfo.LINE);
 }
コード例 #15
0
ファイル: Debug.java プロジェクト: pangcong/genotick
 public void setDebugInfoNone() {
   Debug.setDebugInfo(params, DebugInfo.NONE);
 }
コード例 #16
0
ファイル: Debug.java プロジェクト: pangcong/genotick
 public void d(Object... output) {
   Debug.log(params, output);
 }
コード例 #17
0
ファイル: Debug.java プロジェクト: pangcong/genotick
 public void setPrefix(String prefix) {
   Debug.setPrefix(params, prefix);
 }
コード例 #18
0
ファイル: Debug.java プロジェクト: pangcong/genotick
 public void setOutputStream(OutputStream outputStream) {
   Debug.setOutPutStream(params, outputStream);
 }
コード例 #19
0
ファイル: Debug.java プロジェクト: pangcong/genotick
 @SuppressWarnings("unused")
 public static void setDebugInfoFileAndLine() {
   Debug.setDebugInfo(params, DebugInfo.LINE);
 }
コード例 #20
0
ファイル: Debug.java プロジェクト: pangcong/genotick
 @SuppressWarnings("unused")
 public static void setDebugInfoFullTrace() {
   Debug.setDebugInfo(params, DebugInfo.TRACE);
 }
コード例 #21
0
ファイル: Debug.java プロジェクト: pangcong/genotick
 public void setEnabled(boolean enabled) {
   Debug.setEnabled(params, enabled);
 }
コード例 #22
0
ファイル: Debug.java プロジェクト: pangcong/genotick
 @SuppressWarnings("unused")
 public static void setEnabled(boolean enabled) {
   Debug.setEnabled(params, enabled);
 }
コード例 #23
0
ファイル: Main.java プロジェクト: neosb/genotick
 private static void setupDebug() {
   Debug.setShowTime(true);
   String outFileName = "genotick_" + DataUtils.getDateTimeString() + ".txt";
   Debug.toFile(outFileName);
 }
コード例 #24
0
ファイル: Debug.java プロジェクト: pangcong/genotick
 @SuppressWarnings("unused")
 public static void allowedClasses(Class... classes) {
   Debug.allowClasses(params, classes);
 }
コード例 #25
0
ファイル: Debug.java プロジェクト: pangcong/genotick
 @SuppressWarnings("WeakerAccess")
 public static void setOutputStream(OutputStream outputStream) {
   Debug.setOutPutStream(params, outputStream);
 }
コード例 #26
0
ファイル: Debug.java プロジェクト: pangcong/genotick
 public void allowedClasses(Class... classes) {
   Debug.allowClasses(params, classes);
 }
コード例 #27
0
ファイル: Debug.java プロジェクト: pangcong/genotick
 @SuppressWarnings("unused")
 public static void allowAllClasses() {
   Debug.allowAllClasses(params);
 }
コード例 #28
0
ファイル: Debug.java プロジェクト: pangcong/genotick
 public void allowAllClasses() {
   Debug.allowAllClasses(params);
 }
コード例 #29
0
ファイル: Main.java プロジェクト: neosb/genotick
 private static void setupExceptionHandler() {
   Thread.setDefaultUncaughtExceptionHandler(Debug.createExceptionHandler());
 }