Comments
yourfanat wrote: I am using another tool for Oracle developers - dbForge Studio for Oracle. This IDE has lots of usefull features, among them: oracle designer, code competion and formatter, query builder, debugger, profiler, erxport/import, reports and many others. The latest version supports Oracle 12C. More information here.
Cloud Computing
Conference & Expo
November 2-4, 2009 NYC
Register Today and SAVE !..

2008 West
DIAMOND SPONSOR:
Data Direct
SOA, WOA and Cloud Computing: The New Frontier for Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
GOLD SPONSORS:
Appsense
User Environment Management – The Third Layer of the Desktop
Cordys
Cloud Computing for Business Agility
EMC
CMIS: A Multi-Vendor Proposal for a Service-Based Content Management Interoperability Standard
Freedom OSS
Practical SOA” Max Yankelevich
Intel
Architecting an Enterprise Service Router (ESR) – A Cost-Effective Way to Scale SOA Across the Enterprise
Sensedia
Return on Assests: Bringing Visibility to your SOA Strategy
Symantec
Managing Hybrid Endpoint Environments
VMWare
Game-Changing Technology for Enterprise Clouds and Applications
Click For 2008 West
Event Webcasts

2008 West
PLATINUM SPONSORS:
Appcelerator
Get ‘Rich’ Quick: Rapid Prototyping for RIA with ZERO Server Code
Keynote Systems
Designing for and Managing Performance in the New Frontier of Rich Internet Applications
GOLD SPONSORS:
ICEsoft
How Can AJAX Improve Homeland Security?
Isomorphic
Beyond Widgets: What a RIA Platform Should Offer
Oracle
REAs: Rich Enterprise Applications
Click For 2008 Event Webcasts
In many cases, the end of the year gives you time to step back and take stock of the last 12 months. This is when many of us take a hard look at what worked and what did not, complete performance reviews, and formulate plans for the coming year. For me, it is all of those things plus a time when I u...
SYS-CON.TV
Timing the Market with Distributed Genetics
Taking the winning side in trades using Genetic Programming and Grid Computing

Genetic Programming
Sometimes, you want to solve a problem and you’re pretty sure what a solution would look like, and what the pieces and players are that would have to be involved in any solution – but you’re just not quite sure how to manipulate those pieces in order to get to your envisioned solution. A game of chess is a good real-world example; I know that I need to manipulate my pieces according to a fixed set of rules until I can put my opponent’s king in a state of checkmate, but the exact series of steps I need to take in order to do that can be difficult to see.

Genetic programming uses a model for solving such problems that simulates biological evolution. A number of solutions are randomly generated, then tried and evaluated on the basis of how close they come to solving the problem at hand. Depending on how good or poor a given solution seems to be it will either become the starting point for additional, randomly generated solutions, or dropped from further consideration.

In evolutionary terms, this is similar to the way in which new mutations within a species prove to be beneficial, harmful, or neutral over time. A caveman with a third arm might have found that he was better-equipped for hunting. This might have made him especially popular with the cave ladies and, as a result, he had more offspring and a greater impact on succeeding generations. By way of contrast, a modern-day salesman with a third arm would probably not be as successful – constantly getting it caught in revolving doors and such – and as a result would probably die without progeny, living in the proverbial van down by the river.

The .NET Tool Kit
There is certainly much to be said for creating your own base frameworks for either grid or genetic algorithm applications. The degree of control possible when you roll your own implementations will always exceed anything that is available off-the-shelf. For most applications, however, a couple of base frameworks have developer editions that can be freely used in a limited capacity.

The Digipede Framework
Digipede is a .NET-based framework for grid computing. It provides three essential pieces right out-of-the-box. First, there is a Digipede Server, Digipede Workbench and Control. These applications work together to coordinate and allow you to monitor the independent units of work that you have out on your grid. You typically install these on a single computer in your network.

Second are the Digipede Agents. You will typically install a Digipede Agent on every machine that you want to have performing work as a part of your grid computing environment. The free Developer Edition allows you to install a maximum of two Agents – enough to allow you to completely build and test a grid program, but probably not enough to leverage much benefit for many grid-worthy computing applications.

Finally, and in many ways most important, is the Digipede Framework itself. By providing just a handful of classes for extension and/or consumption, Digipede allows you to focus on writing the “business logic” you need to have running on a grid. The Digipede software will completely handle the relatively inane tasks of distributing and coordinating the tasks you need to have performed across your grid.

John Koza’s Genetic Programming Textbook
The other bit of freely available framework that we will use as the starting point for our application is John Koza’s excellent textbook on the topic of genetic programming called, simply, Genetic Programming: On the Programming of Computers by Means of Natural Selection. In this textbook, Mr. Koza lays out a framework for genetic programming that we will follow very closely in our construction of a stock-picking grid application.

Designing the Stock Selection Application
In order to build an application that is capable of selecting stocks, evaluating the appropriateness of those selections over time, and then adjusting itself for greater accuracy in the future, we will need to provide our application with some data on which to base its selections. This leads us to the first question that typically presents itself in developing genetic algorithms: On what kind of data should its decisions most likely be based?

A quick review of financial planning guides, trading websites, etc., will quickly cause you to zero in on a handful of likely data points for long-term financial analysis. For this engine, we will use the “Real Time Market Data” web service made available by WebServiceX.NET.

This web service provides a façade over the market data published by the INET electronic exchange. The operations we are interested in, specifically, are:

  • TopLists: We will use this to retrieve a base list of 500 stocks that our application will evaluate and decide whether to buy, sell, or hold (ignore).
  • LastExecution: We will evaluate the effectiveness of our algorithms by comparing the price on the last execution for a stock to the last price initially given by the TopLists operation for that stock.

About Derek Ferguson
Derek Ferguson, founding editor and editor-in-chief of .Net Developer's Journal, is a noted technology expert and former Microsoft MVP.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

SOA World Latest Stories
In his session at 20th Cloud Expo, Mike Johnston, an infrastructure engineer at Supergiant.io, discussed how to use Kubernetes to set up a SaaS infrastructure for your business. Mike Johnston is an infrastructure engineer at Supergiant.io with over 12 years of experience designing, dep...
DevOpsSummit New York 2018, colocated with CloudEXPO | DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City. Digital Transformation (DX) is a major focus with the introduction of DXWorldEXPO within the program. Successful transformation requires a laser focus ...
Most DevOps journeys involve several phases of maturity. Research shows that the inflection point where organizations begin to see maximum value is when they implement tight integration deploying their code to their infrastructure. Success at this level is the last barrier to at-will d...
SYS-CON Events announced today that DatacenterDynamics has been named “Media Sponsor” of SYS-CON's 18th International Cloud Expo, which will take place on June 7–9, 2016, at the Javits Center in New York City, NY. DatacenterDynamics is a brand of DCD Group, a global B2B media and publ...
CloudEXPO New York 2018, colocated with DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one l...
Consumer-driven contracts are an essential part of a mature microservice testing portfolio enabling independent service deployments. In this presentation we'll provide an overview of the tools, patterns and pain points we've seen when implementing contract testing in large development ...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON Featured Whitepapers
ADS BY GOOGLE