One Unified Global Perspective
Communications with a Global Perspective
Home
Intro
Contact Us
Voice over IP
PBX Solutions
Services
Support
Glossary
Open Source
Blog
Forum

WebMail





2007 Dec 30 - Sun

SmartQuant QuantDeveloper & DataCenter Release

SmartQuant has released a revision to DataCenter and QuantDeveloper. DataCenter and QuantDeveloper are at the following revision levels:

DataCenter
Version 2.3.5 (29-Dec-2007)  

QuantDeveloper Enterprise Edition
Version 2.7.3 (29-Dec-2007) 

QuantDeveloper Source Code
Version 2.7.1 (20-Sep-2007) 
* Recent Versions available through 
  version control 

[/Trading/SmartQuant/Releases] permanent link


2007 Dec 16 - Sun

SmartQuant QuantDeveloper Code Excerpts

Here are some QuantDeveloper code snippets:

[/Trading/SmartQuant] permanent link


2007 Dec 15 - Sat

Candle Analysis for SmartQuantLibraries

A couple of posts at the SmartQuant forums have requested information on Candle definitions and analysis. Here are two C# modules which can used as a basis for your own analysis and signal generation:

There are various knobs you can make use, with 'bald' (which controls when a hair is detected) being the main one. There are some percentages which I should have set as constants scattered through the code (0.40 being one of them), which set whether something is relatively long bodied or short bodied.

If you have changes, let me know, I'll add them and repost.

The source of inspiration was Bigelow's Profitable Candlestick Trading.

[/Trading/SmartQuant/Articles] permanent link


2007 Nov 23 - Fri

SmartQuant QuantDeveloper & DataCenter Release

SmartQuant has released a revision to DataCenter and QuantDeveloper. DataCenter and QuantDeveloper are at the following revision levels:

DataCenter
Version 2.3.4 (22-Nov-2007)  

QuantDeveloper Enterprise Edition
Version 2.7.2 (22-Nov-2007) 

QuantDeveloper Source Code
Version 2.7.1 (20-Sep-2007) 
* Recent Versions available through 
  version control 

[/Trading/SmartQuant/Releases] permanent link


2007 Oct 31 - Wed

Make It Seem To Work

"Sometimes it's much cheaper and easier to make people think that something works rather than actually make it work. After all, the result is, in all important aspects, the same." -- Douglas Adams

This reminds me of a building engineer, who, when complained to by staff that they were cold and wanted their own thermostat, put a thermostat on the wall. No one had asked that it be connected to anything, and no one complained after that.

[/Personal/TagLines] permanent link


2007 Oct 26 - Fri

Bliss

What is better than eternal bliss? Nothing. But a slice of bread is better than nothing. So a slice of bread is better than eternal bliss.

[/Personal/TagLines] permanent link


2007 Oct 23 - Tue

QuantDeveloper Source

A number of people took the time to email me their thoughts regarding my rant regarding source code for QuantDeveloper. Anton from SmartQuant responded, but unsurprisingly, I havn't heard anything from QuantHouse.

It seems that QuantHouse has purchased various rights and such to QuantDeveloper, and have renamed it to suit their suite. SmartQuant has also retained certain rights and such to QuantDeveloper, and have maintained the name. SmartQuant has indicated they are continuing development of QuantDeveloper and has hinted that some quite advanced features are in the pipeline. He also confirmed that, for existing developers who have subscribed to source code, source code is available for new releases.

[/Trading/SmartQuant/Articles] permanent link


2007 Oct 21 - Sun

The Cluetrain Manifesto

Today I was introduced to The Cluetrain Manifesto: The End of Business as Usual through a NANOG posting in response to someone's quote:

I think you greatly underestimate how customers react to the truth.

A few easily reachable quotes from the full online text:

The connectedness of the Web is transforming what's inside and outside your business -- your market and your employees. 
We are not seats or eyeballs or end users or consumers.  We are human beings  -- and our reach exceeds your grasp.  Deal 
with it

Facebook is probably one of many excellent examples of how humans interact, and companies are having a hard time trying to make those sites work for themselves. hmph. Perhaps when companies learn that they are made up of humans who share and interact, maybe good things can happen.

I'm thinking that many a great open source company has learned to share what could be classified as the family jewels, and thus have profited immensely from embracing the way humans naturaly interact.

[/Personal/Business] permanent link


2007 Oct 20 - Sat

Quality of Service Options on GRE Tunnel Interfaces

Note to self, according to Cisco's document 10106, Quality of Service Options on GRE Tunnel Interfaces: when applying queuing to a tunnel interface, shaping must also be applied. The top level policy of a recommended hierarchical policy should be a shaping command, while the lower-level policies configure the queueing mechanisms.

[/Cisco] permanent link


2007 Oct 19 - Fri

C++ Libraries from Scaling Web

Scaling Web has a number of open source libraries that may be of use:

  • Template based B+ Tree: Implemented in C++, B+ Tree is template based, so it can be used with any types of data. Memory based B+ Tree is much faster than STL containers like map, hash_map.
  • Embedded File System: Embedded File System (EFS) is a library that allows you to create virtual file system in a single file.
  • Mork Parser in C++: MorkParser is an efficient C++ implementation of Mork database format reader. The Mork format is used in most Mozilla-based projects, including the Mozilla browser suite, SeaMonkey, Firefox and Thunderbird.
  • Mime Email Parser in C++: C++ implementation of RFC 2045 - Multipurpose Internet Mail Extensions (MIME) standard.
  • C++ IO Streams Library: IO Streams library provides different Java-like interface streams in C++.

[/Personal/SoftwareDevelopment/CPP] permanent link


Trading Site of the Day -- StreamBase: Event, Databases, and (unrelated) Charting

StreamBase has a developers kit for using their Event Stream Processor and database. They have an article on Using the StreamBase opentick Adapter to Build Market Data Applications. The database itself could be a useful alternative to SmartQuant's historical data tables, but the downside is that compression may not be available. I've only skimmed the site. I'm hoping the code behind the referenced article shows enough that I could re-code it for an IQFeed or Genesis data stream.

While on the topic of coding, some one pointed out ZedGraph as a possible alternative for showing charts. It is open source.

On the other hand, I've been leaning towards ChartDirector for C++ as it, as it says, has an API for C++, as well as a host of other languages.

[/Trading/SiteOfTheDay/D200710] permanent link


Trade Optimization by Genetic Programming, Example for QuantDeveloper

I had recieved a private message by someone requesting some background on what I had done for my Genetic Programming trials with QuantDeveloper.

I am releasing the example source code into the public domain. If you make changes and would like to see the changes recorded here, please let me know, and I'll update the files.

The subdirectory OneUnified.GeneticProgramming is the GP library. I used Koza (1992) as well as a few other related references as a guide for various constants and such. You'll need some of my other libraries (as listed elswhere on this site) in order to get the thing to compile.

The library provides population management, survival of the fittest, and various breeding cross-over strategies. Adding and removing operators should be relatively easy. I have a couple of base classes from which most are inherited: boolean and double. Note that, unlike C++ where one can use static methods to initialize some global class variables, C# insists on initializing static class variables upon first invocation, which is why you'll see ugly, redundant code for getting this done for the operator setups. Maybe there is a better way.

The subdirectory UI holds the setup code to run a simulation. When you look at the code, you'll see that there is no real easy way to embed an optimization module in QD, so I took source samples and patched together a self running optimizing application.

You'll be glad to note that doing something like this will be much more difficult, if not impossible in the future. QuantHouse, in their infinite wisdom, has decided that we add-on developers, who don't spend thousands of dollars each month on sub-millisecond data-feeds are a pain in the back side, and so will not be providing source code in the future. Or so they told me. I come from an open source community, and this closed source madness of QuantHouse has turned me off of QD. I've gone back to using C++ routines to take care of my trading chores.

While on the subject of C++, er, C#, I went back to C++ for several other reasons. There is a rich and varied source of high quality open source libraries for C++: Boost, QuantLib just to name two. C++ is faster. Also, I feel that C# is meant for lazy programmers who don't know how to clean up after themselves. There are C++ garbage collection libraries out there if I feel the need to use them. And did you know that Microsoft couldn't even bring themselves to use CLS in most of the their Windows development (most of the core CLS was removed from key kernel applications).

Anyway, here is my Trade Optimization by Genetic Programming, Example for QuantDeveloper.

[/Trading/SmartQuant/Articles] permanent link


2007 Oct 07 - Sun

IQFeed Source Code Release

I havn't had much time recently to keep my IQFeed libraries (for QuantHouse/SmartQuant's QuantDeveloper) updated, and I see there are a few users with some annoyances with the libraries. I've decided to empower them to solve the issues themselves.

I've released the code under GPL3 license terms. For those who wish to to use it commercially, they can contact me directly.

I'd been holding off releasing the code, hoping I could clean things up a bit more, but I better bite the bullet and just get the code out there. Perhaps Anton can create a sub-forum for supporting the library.

There are two libraries:

The projects are in Visual Studio 2005 SP1 format.

If you have corrections to the libraries, please email the changes to me, I'll update the code, and release an updated version.

All the code compiles. I've used it for my own market tests and evaluations. As such, it may be a little rough around the edges, but is usable. I never did get around to implementing the IHistory module. Instead, I bypassed that interface and wrote a mechanism to download histories for multiple symbols simultaneously. If you do implement an IHistory interface, let me know, I'll update the code and release it.

There are few libraries that use a SQL Database back end. the OneUnified.SmartQuant library has a SQL file for recreating the database (you'll need to do the permissions manually), and a .csv which will load the iqMessageFormat table with stuff that might be useful.

The reason for this is that I use Genesis Securities as my broker. They have a C++ trading library, which I've started to integrate... in a C++ environment. With Boost (which will have time series shortly), QuantLib, GSL, and a bunch of other libraries, I've found I can revert back to my favorite development environment for live market trading. QD will still remain as a solid simulation and testing environment for me (depending upon what favorable or unfavorable changes QuantHouse makes to release arrangements--they've indicated that source code rights will no longer exist--which will suck big time).

I'm rewriting and expanding the scalping example (from the application archive) in C++ to run properly with two trading accounts, and provide detail I couldn't do with the C# version.

If you have questions, let me know.

Happy Trading!

[/Trading/SmartQuant] permanent link


2007 Oct 06 - Sat

New Ideas -- For The Market Place, not the Existing Business Model

Dare Obasanjo wrote a nice blog entry summarizing some key ideas from Marc Andreessen and Clayton Christensen. In his entry entitled Stupid Things Big Companies Do, he had a great exerpt that confirmed that companies need to diversify their business models, offered up a key irony, and ended by providing a possible solution:

People come up with lots of new ideas, but nothing happens. They get very disillusioned. Never does an idea pop out of a person's head as a completely fleshed-out business plan. It has to go through a process that will get approved and funded. You're not two weeks into the process until you realize, "gosh, the sales force is not going to sell this thing," and you change the economics. Then two weeks later, marketing says they won't support it because it doesn't fit the brand, so we've got to change the whole concept.

All those forces act to make the idea conform to the company's existing business model, not to the marketplace. And that's the rub. So the senior managers today, thirsty for innovation, stand at the outlet of this pipe, see the dribbling out of me-too innovation after me-too innovation, and they scream up to the back end, "Hey, you guys, get more innovative! We need more and better innovative ideas!" But that's not the problem. The problem is this shaping process that conforms all these innovative ideas to the current business model of the company.

[/Personal/Business] permanent link


Web 2.0 Site Development with Wt -- Dead Easy

I've written an earlier article about installing the Wt C++ Web Toolkit. I think it took longer to get all the bits and pieces properly arranged than it did me to cook up an example to check that it did what I thought it could do.

I'm quote pleased and impressed with the tool. I was able to get a basic web application up and running in about two days, which were spent reading the documentation, reviewing the class libraries, looking at some of the samples, poking through the PostgreSQL C library, and then hacking stuff into the basic Wt 'Hello World' application.

The authors of Wt have done a great job of hiding all the Javascript go-between code. I can focus on the higher level parts of my design, rather than the underlying machinery to make an interface work. About the only thing I've encountered that I'd like to change is to take the inline Javascript code, and get it put into a .js file.

The test I came up with was to open up a database, select a bunch of records, and present the records in a table which could be stepped through (forwards and backwards) 10 records at a time... and all this without having to refresh the whole page, just the table itself. The following code proves it can be done.

It allows one to turn an internet browser into a true application front end with most of the usual gui functions provided.

This first file is ouipam.cpp, the file with the 'main' start for each session connection:

//============================================================================
// Name        : ouipam.cpp
// Author      : Ray Burkholder
// Version     :
// Copyright   : (c) 2007 One Unified
// Description : OUIPAM:  One Unified IP Address Management
//============================================================================

// server push uses WApplication enableUpdates(), triggerUpdate(), 
getUpdateLock();

#include "Responder.h"

using namespace Wt;

WApplication *createApplication(const WEnvironment& env) {

  // Instantiate the Wt application.
  Responder *appl = new Responder(env);
  return appl;
}

int main(int argc, char **argv) {
  return WRun(argc, argv, &createApplication);
}

This file is Responder.h, the header file for the responder, which handles the WApplication (or session):

//============================================================================
// Name        : ouipam.cpp
// Author      : Ray Burkholder
// Version     :
// Copyright   : (c) 2007 One Unified
// Description : OUIPAM:  One Unified IP Address Management
//============================================================================

#ifndef RESPONDER_H_
#define RESPONDER_H_

#include <WApplication>
#include <WContainerWidget>
#include <WText>
#include <WPushButton>
#include <WTable>
#include <WTableCell>

#include "libpq-fe.h"

using namespace Wt;

class Responder : public WApplication {
public:
  Responder(const WEnvironment& env);
  virtual ~Responder();
protected:
  WPushButton *button;
  WTable *table;
private:
  int cnt;
  PGconn *conn1;
  PGresult *result;
  int nRowsToShow;
  int cntRowsFound;
  int cntColumnsFound;
  int ixFirstRowShowing; // 0 offset
  void OnButtonListBegin();
  void OnButtonForeward();
  void OnButtonBackward();
  void OnButtonListEnd();
  void ShowRows();
};

#endif /*RESPONDER_H_*/

This final file is Responder.cpp, where all the session work is performed. The constructor opens the database, creates the webpage basics, and assigns events to each of the forward and backward buttons. When a button is pressed, the appropriate method is called to use the appropriate records and update the table. Again, with Javascript enabled, the web page is not refreshed. Instead, the browser's DOM is updated directly, and only the table cells change. I look foreward to seeing what else I can do with this flexibility. As you can see from the header comment, this is the start of an interactive web application for managing an organizations IP Addresses.

//============================================================================
// Name        : ouipam.cpp
// Author      : Ray Burkholder
// Version     :
// Copyright   : (c) 2007 One Unified
// Description : OUIPAM:  One Unified IP Address Management
//============================================================================

#include "Responder.h"
#include "WBreak"
#include <sstream>
#include <ostream>
#include <algorithm>

using namespace std;

Responder::Responder(const WEnvironment& env) :
  WApplication(env ) {

  // Set application title
  setTitle("OUIPAM by One Unified");

  ostringstream ss;

  // perform database query 

  conn1
      = PQconnectdb("hostaddr=127.0.0.1 port=5432 dbname=oneunified user=oneunified 
password=xxx");
  ConnStatusType stat = PQstatus(conn1 );
  if (CONNECTION_OK != stat) {
    //PQfinish(conn1);
    ss << "pq result= bad("<< stat << ")"<< endl;
    root()->addWidget(new WText(ss.str()));
  } else {
    result = PQexec(conn1, "select * from ianaiftype;");
    ExecStatusType statusExec = PQresultStatus(result );
    ss << "pgresult=";
    bool bTuplesFound = false;
    switch (statusExec ) {
      case PGRES_EMPTY_QUERY:
        ss << "empty query";
        break;
      case PGRES_COMMAND_OK:
        ss << "command ok";
        break;
      case PGRES_TUPLES_OK:
        ss << "tuples found";
        bTuplesFound = true;
        break;
      case PGRES_COPY_OUT:
        ss << "copy out";
        break;
      case PGRES_COPY_IN:
        ss << "copy in";
        break;
      case PGRES_BAD_RESPONSE:
        ss << "bad response";
        break;
      case PGRES_NONFATAL_ERROR:
        ss << "non fatal error";
        break;
      case PGRES_FATAL_ERROR:
        ss << "fatal error";
        break;
    }
    root()->addWidget(new WText(ss.str()));
    root()->addWidget(new WBreak());

    // present some query statistics

    if (bTuplesFound ) {
      cntRowsFound = PQntuples(result );
      cntColumnsFound = PQnfields(result );
      ss.str("");
      ss << "rows="<< cntRowsFound << ", columns="<< 
          cntColumnsFound << endl;
      root()->addWidget(new WText(ss.str()));
      root()->addWidget(new WBreak());
      for (int i = 0; i < cntColumnsFound; i++) {
        ss.str("");
        ss << PQfname(result, i )<< ", format="<< PQfformat(result, i )
            << ", type="<< PQftype(result, i )<< ", size="
            << PQfsize(result, i )<< endl;
        root()->addWidget(new WText(ss.str()));
        root()->addWidget(new WBreak());
      }

      // create table for row results

      table = new WTable();
      root()->addWidget(table);

      // assign methods to the buttons

      button = new WPushButton( L"<<" );
      root()->addWidget(button );
      button->clicked.connect(SLOT(this, Responder::OnButtonListBegin));

      button = new WPushButton( L"<" );
      root()->addWidget(button );
      button->clicked.connect(SLOT(this, Responder::OnButtonBackward));

      button = new WPushButton( L">" );
      root()->addWidget(button );
      button->clicked.connect(SLOT(this, Responder::OnButtonForeward));

      button = new WPushButton( L">>" );
      root()->addWidget(button );
      button->clicked.connect(SLOT(this, Responder::OnButtonListEnd));

      // show the query results

      nRowsToShow = 10;
      ixFirstRowShowing = 0;
      ShowRows();

    }
  }
}

Responder::~Responder() {
  PQclear(result ); // result exists even with new command, and even if connection is closed;
  PQfinish(conn1 );
}

void Responder::ShowRows() {
  // update rows in the already created table
  WTableCell *cell;
  WText *text;
  int ixRowToShow = ixFirstRowShowing;
  for (int ixTableRow = 0; ixTableRow < nRowsToShow; ixTableRow++) {
    for (int ixColumn = 0; ixColumn < cntColumnsFound; ixColumn++) {
      cell = table->elementAt(ixTableRow, ixColumn );
      cell->clear();
      if (ixRowToShow < cntRowsFound ) {
        text = new WText();
        text->setFormatting(WText::PlainFormatting );
        text->setText(PQgetvalue(result, ixRowToShow, ixColumn ) );
        cell->addWidget(text );
      } else {

      }
    }
    ixRowToShow++;
  }
}

void Responder::OnButtonListBegin() {
  ixFirstRowShowing = 0;
  ShowRows();
}

void Responder::OnButtonBackward() {
  ixFirstRowShowing = max( 0, ixFirstRowShowing - nRowsToShow );
  ShowRows();
}

void Responder::OnButtonForeward() {
  int i = max( 0, cntRowsFound - nRowsToShow );
  ixFirstRowShowing = min(i, ixFirstRowShowing + nRowsToShow );
  ShowRows();
}

void Responder::OnButtonListEnd() {
  ixFirstRowShowing = max( 0, cntRowsFound - nRowsToShow );
  ShowRows();
}

[/Personal/SoftwareDevelopment/CPP] permanent link


Flash File Systems for Embedded Systems, and Otherwise

On Kernel Trap, I see they are discussing the use and maintenance of flash file systems. It seems there are lots of interesting gotchas when using flash file systems intensively. I'm wondering if that might be why the Seagate 32G flash drive is taking a while to get going in the market place.

Anyway, for my own embedded thoughts, it is good to know flash file systems are making good headway into kernel integration.

[/OpenSource/Linux] permanent link


Open Source Site of the Day -- OSSWAD: Open Source Savvy Web Application Developer

An OSSWAD, almost sounds like a forbidden word. Based upon Bob Zurek's column, there are Osswads, and then there are OSSWADs. Many developers of web sites 'out there' already use Open Source tools to get the job done. Apache, MySQL, PostgreSQL, Perl, and PHP are commonly used tools by Osswads.

On the other hand, one gets the impression that real, enterprise savvy OSSWADs, use some real hard core tools like:

  • hadoop: large scale distributed compute clusters. Amazon has a developer resource center with a Hadoop/MapReduce Paper.
  • lucene: not just search software, but something that provides the basis for getting meaningfull context. There is an informative online book to go alone with it.
  • nutch: adds web specifics to lucene: web crawling, link-graphs, and parsers.

These Open Source projects fill in more of the gaps of the thinking I've been doing on providing some contextual search products in specific subject matter areas. It looks like I won't have to do as much ground up development as I thought I might need to do.

[/OpenSource/SiteOfTheDay/D200710] permanent link


libpqxx: A PosgreSQL C++ Wrapper Library

I've looked at the C library for PostgreSQL and then wanted to see if there were any C++ wrappers for it. The most current appears to be libpqxx. On first blush, it looks very good. It if functional and robust. But... it has one draw back. The library insists on converting all binary stuff into text for passing back to the caller. For some applications, that can be a reasonable library simplifier.

But in this day and age of Templates and polymorphism, it seems to be a copout. Yes, if I had time, I'd probably try my hand at implementing some sort of 'variant' implementation to handle the various types of data that come back.

Sigh. As much as I'd like to use the library, I really want my data in the native form in which I stored it. Perhaps once I've worked with the API, and I've worked my own working version of variants, maybe I'll be in a position to offer up some workable suggestions.

... several hours later ...

I now realize that the PostgreSQL API returns everything as strings. So now I understand the reasoning behind the library and what it returns.

To get binary values, from my understanding, one has to use the COPY routines and decipher the result streams directly. I would have hoped there was some middle ground, where the API will provide the binary values when needed. The API implies that it does, but in actual fact, didn't. I spent an hour or two figuring it out the hardway. I'm really going to have to figure out how gdb works so I can single step through stuff and analyze variables. As it was, I reverted back to the stone age and put in print statements to figure out what was happening.

Now I have a tri-choice:

  • Stick with the C API, which seems to have everything one needs, including access to true parameterized queries (I found out after the fact, that the Perl libraries actually do string concatenation, which creates a possibility for SQL Injection attacks).
  • Use the libpqxx library and convert stuff to binary when I need it. I must say working with everything as strings is a simplifying assumption, but doesn't do much for accuraccy and performance.
  • Start working on some sort of wrapper to examine the results of COPY commands, which is probably more work than I really want to do right now.

[/OpenSource/Programming] permanent link


2007 Oct 03 - Wed

Image Maps with CSS, Plus 20 CSS Tools, Plus other Free Tools

Marketing Technology Blog has a How To: Build An Image Map with CSS entry. Pretty simple and straightforward.

In CSS TOOLBOX: 20+ Tools For Working With CSS, there are links to a bunch of sites offering up quite a number of tips, tricks, and techniques for working with CSS.

This site isn't necessarily CSS, but I thought I'd include it here anyway. Emma Alvarez Blog has an entry called Top best 50 free tools for your website. She references:

  • Color Selectors
  • Logo Makers
  • Button Generators
  • Rounded Corner Generators
  • Background Makers
  • Custom Games for Blogs
  • Avatars
  • Free Scripts
  • Visitor Maps
  • Public Domain Photos
  • Free Fonts
  • Widgets
  • Statistics
  • Firefox Extensions
  • Inspiration
  • Optimization Tools
  • Image Tools

[/Personal/SoftwareDevelopment/HTML/css] permanent link


A Link to an Article regarding SQL Injection

Many web sites use a back end SQL engine for serving up data. Some Credit Card number thefts can be attributed to poor protection of web page interactions with a back end SQL server through injecting SQL statements into web requests.

A well written article called The Unexpected SQL Injection goes into detail on how SQL Injection happens, and how to prevent it.

Spend some time on the site. There are many other documents providing valuable information regarding the protection of internet based activity.

[/Personal/SoftwareDevelopment] permanent link


Free Tools: CD ISO Create and Burning, Notepad++

CDBurnerXP is a great tool for assembling ISO's and burning them to CD. It isn't bloated like other pay-for stuff out there. This is a good, streamlined, free tool to ... burn CDs and DVDs.

Notepad++ is a is a free source code editor (and Notepad replacement), which supports several programming languages, running under the MS Windows environment. It has a very large feature set, with some being cold-folding, syntax highlighting, and macro-recording. It is a valuable Windows Notepad replacement, and is as fast or faster, and absolutely better.

[/Personal/Technology] permanent link


GSL - GNU Scientific Library

I'm coming across all sorts of interesting things today. Another C++ library I've encountered is the GSL - GNU Scientific Library. From the web-site, it is:

a numerical library for C and C++ programmers. It is free software under the GNU General Public License.

The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting. There are over 1000 functions in total with an extensive test suite.

Some of the subject areas covered include:

Complex Numbers Roots of Polynomials Special Functions
Vectors and Matrices Permutations Sorting
BLAS Support Linear Algebra Eigensystems
Fast Fourier Transforms Quadrature Random Numbers
Quasi-Random Sequences Random Distributions Statistics
Histograms N-Tuples Monte Carlo Integration
Simulated Annealing Differential Equations Interpolation
Numerical Differentiation Chebyshev Approximation Series Acceleration
Discrete Hankel Transforms Root-Finding Minimization
Least-Squares Fitting Physical Constants IEEE Floating-Point
Discrete Wavelet Transforms

[/Personal/SoftwareDevelopment/CPP] permanent link


Cryptographic Library for C++

ergo offers up some explanation and examples of using the CryptoPP - The cryptographic library for C++. He also refers to something else that may be of interest, a SSL++: C++ Headers for OpenSSL. But I think most just compile and link directly with the headers from OpenSSL.

[/Personal/SoftwareDevelopment/CPP] permanent link


More Code Coloring Capability for HTML

Google Code Colorizer is one to add to the list.

[/Personal/SoftwareDevelopment/HTML] permanent link


Life, Judgement and Experience

The Tired Architect talks about second systems, and refers to one of my favorite books: The Mythical Man Month by Frederick Brooks.

Anyway, The Tired Architect has a good quote:

As they say, good judgement comes from experience, and experience from bad judgement. It makes you a better architect, like how pain makes you appreciate health better.

[/Personal/TagLines] permanent link


Debian Installation on a Dell Laptop

Here is a page discussing the Installation of Debian 3.1 on a Dell Laptop. There were some key commands I learned from that article:

  • lspci -v # to list adaptors on pci buss
  • dmesg # to show boot log
  • lsmod # to show installed kernel modules
  • fdisk -l # to show drive partitions

Even though it is an older site, it does have some useful tidbits of information.

Other pages on the site provide notes one wireless war driving and such, plus other stuff.

[/OpenSource/Debian/ArticleLinks] permanent link


Installing And Configuring Wt, a C++ Web Toolkit

I mentioned in another article about doing web page development with C++. I came across Wt: a C++ Web Toolkit. It has been a bear to configure with the ASIO library. I'll layout what I've done below. I'm stuck with an SSL initialization problem. I'm probably going to have to move to FastCGI to see how well that works.

Based upon the forums, there are supposed to be some Debian Packages already available to make this work. Packages seem to be a bit behind the latest versions of stuff, so in this case, I wanted to be able to have a build system where I could incorporate the latest of Boost (which is supposed to have time-series avaliable shortly), and with Wt (which has an active CVS feed).

Anyway, here is my installation process so far. There are a couple of Kludges due to platform differences (a prefix of lib is needed on some stuff, which I should do a SED with at some time) and I can't figure out how the header file include stuff works properly (in order to keep it in a separate directory).

I started by downloading asio-0.3.7.tar.gz from asio.sf.net and boost_1_34_1.tar.tz from www.boost.org, and expanding them out to their directories in /usr/src.

apt-get install gcc
apt-get install zlib1g
apt-get install zlib1g-dev
apt-get install libbz2-dev
apt-get install libgd-dev
apt-get install cmake
apt-get install libfcgi-dev
apt-get install libapache2-mod-fastcgi
apt-get install libssl-dev

cd /usr/src/boost_1_34_1
./configure --without-icu --without-libraries=python,wave,test --libdir=/usr/lib/boost_34_1
make install
ln -s /usr/lib/boost_1_34_1/ /usr/lib/boost
ln -s /usr/include/boost-1_34_1/boost /usr/include/boost

Before proceeding, a patch needs to be applied to one of the ASIO files:

@@ -45,13 +45,13 @@
       {
         ::SSL_library_init();
         ::SSL_load_error_strings();        
+        ::OpenSSL_add_ssl_algorithms();
 
         mutexes_.resize(::CRYPTO_num_locks());
         for (size_t i = 0; i < mutexes_.size(); ++i)
           mutexes_[i].reset(new asio::detail::mutex);
         ::CRYPTO_set_locking_callback(&do_init::openssl_locking_func);
 
-        ::OpenSSL_add_ssl_algorithms();
       }
     }

It basically moves the location of '::OpenSSL_add_ssl_algorithms();'. Without it, an error such as the following may occur during runtime:

__gnu_cxx::recursive_init'
  what():  N9__gnu_cxx14recursive_initE
Aborted

ASIO can then be built:

cd /usr/src/asio-0.3.7
./configure --with-boost=/usr/include/boost --libdir=/usr/lib/ --includedir=/usr/include/
make
make install

After that fixup, Wt can be built.

cd /usr/src
cvs -d:pserver:anonymous@witty.cvs.sourceforge.net:/cvsroot/witty login
cvs -z3 -d:pserver:anonymous@witty.cvs.sourceforge.net:/cvsroot/witty co -P wt
cd wt
nano src/CMakeLists.txt
# prefix boost file entries with lib to get libboost
cmake -D DEPLOYROOT=/var/www/wt -D WEBUSER=www-data -D WEBGROUP=www-data \
-D BOOST_DIR=/usr/include/boost/ \
-D BOOST_COMPILER=gcc41 \
-D BOOST_VERSION=1_34_1 \
-D BOOST_INCLUDE_DIR=/usr/include/boost \
-D BOOST_LIB_DIR=/usr/lib/boost/  \
-D BOOST_DT_LIB_MT=/usr/lib/boost \
-D BOOST_DT_LIB=/usr/lib/boost \
-D BOOST_FS_LIB=/usr/lib/boost \
-D BOOST_FS_LIB_MT=/usr/lib/boost \
-D BOOST_PO_LIB_MT=/usr/lib/boost \
-D BOOST_REGEX_LIB_MT=/usr/lib/boost \
-D BOOST_SIGNALS_LIB_MT=/usr/lib/boost \
-D BOOST_THREAD_LIB=/usr/lib/boost \
-D BOOST_ASIO_INCLUDE_DIR=/usr/include/asio/  \
-D CMAKE_INSTALL_PREFIX=/ \
-D LIB_INSTALL_DIR=/usr/lib/wt/  \
-D LIBRARY_OUTPUT_PATH=/usr/lib/wt \
-D SHARED_LIBS=ON \
-D CONNECTOR_FCGI=ON \
-D CONNECTOR_HTTP=OFF \
.
# FCGI ON for FastCGI (production), HTTP ON for ASIO library (development)

make

# on error:
nano src/Ext/cmake_install.cmake
#  comment out cmakefiles line
rm /include/Ext/CMakeFiles
mkdir /include/Ext/CMakeFiles
cp /usr/src/wt/src/Ext/CMakeFiles/* /include/Ext/CMakeFiles

make install
mkdir /usr/include/wt
mv  /include/* /usr/include/wt/
rmdir /include

nano /etc/ld.so.conf
#  put in:
#   /usr/lib/wt
#   /usr/lib/boost_1_34_1
# ldconfig needs to be run if the fcgi or http libraries get switched or added
ldconfig

Back in Eclipse, I created C++ ANSI project, and then placed the content from examples/hello/hello.cpp into the .cpp file of the new project. The directories '/usr/include/boost-1_34_1' and '/usr/include/wt' need to be entered as 'include' paths. For GCC C++ Linker, the following are -L library search paths:

  • /usr/lib/wt
  • /usr/lib/boost_1_34_1

The following are -l libraries:

  • boost_signals-gcc41-mt-d
  • boost_filesystem-gcc41-mt-d
  • boost_program_options-gcc41-mt-d
  • boost_thread-gcc41-mt-d
  • boost_regex-gcc41-mt-d
  • wt
  • wthttp or wtfcgi
  • wtext

So... with some recompiling, I was able to get the hello sample up and running with FastCGI and then with the ASIO library.

When using FCGI, I renamed the compiled file to hello.wt, and placed it into /var/www/wt/, added the line 'FastCgiServer /var/www/wt/hello.wt' into /etc/apache2/mods-enabled/fastcgi.conf, and restarted Apache. Then by browsing to localhost/wt/hello.wt, I was able to get the demonstration.

When using ASIO, set the folloing for run-time command-line arguments in Eclipse to successfully start the application: '--doc-root=/var/www/wt --http-address=0.0.0.0 --http-port=8080'. Browsing to localhost:8080 will get the web page.

[/OpenSource/Debian/Development] permanent link


KDE / X-Windows Screen Resolution Adjustment

I have a laptop that has 1920 x 1200 resolution on it. The default VESA drivers don't like that resolution. After finding out the type of video card, I was able to use the following command to update the card type and resolution:

dpkg-reconfigure -phigh xserver-xorg

I am now running at full resolution on the laptop.

[/OpenSource/Debian] permanent link


Installing Eclipse C++ Development Environment

The Eclipse C++ Development Environment is a Java based Integrated Development Environment (IDE). On Debian, it is a 'non-free' install. As such, the file /etc/apt/sources.list needs to have the word 'non-free' tacked on to the end of the deb and deb-src lines.

The command 'apt-get update' then needs to be run to update its lists.

The Java runtime environment can then be downloaded with 'apt-get install sun-java-jre'.

The downloaded Eclipse C++ Development Environment can be expanded. Within the expanded directory is a executable file called 'eclipse'. Start it and the environment is up and running. Dead easy.

[/OpenSource/Debian/Development] permanent link


2007 Sep 24 - Mon

Implementing SpeedyCGI/PersistentPerl on Debian Etch

I've recently moved away from Perl and Mason for web hosting into the world of C++ and CGI with Wt.

But for my own future reference, for if/when I need to do something with Perl in Apache, I can refer to Falko Timme's article on Speeding Up Perl Scripts With SpeedyCGI/PersistentPerl On Debian Etch as a reference on how to make Perl fast in Apache.

[/OpenSource/Debian/ArticleLinks] permanent link


Embedded Debian

Enterprise Networking has a short article on some recent specialized motherboards running embedded Debian. They have an article called Voyage Linux: The Comforts of Debian. Embedded.. A number of specific distributions are mentioned, such as m0n0wall, uClibc, Pyramid, and iMedia. The article is about a new contender called Voyage Linux.

The article is about getting Voyage Linux installed and running on flash card. It is the first in a series for ultimately getting an internet-connection sharing firewall in place.

[/OpenSource/Debian/ArticleLinks] permanent link


phoneAlarm for the PocketPC, and GPS Also

I believe the HTC Kaiser is now out and availble. It is getting good reviews as a good device that does have everything, including the kitchen sink. The only think I havn't heard yet is whether or not it has good battery life (for a device with more memory and more functionality, does it come with a power price?).

A reviewer at Pocket PC Thoughts mentioned a piece of software the may prove useful with the device, at least it did for him... something called PhoneAlarm by pocketMAx.

On the GPS side of things, the reviewer mentioned GPS products called Pharos Ostia and Delorme. These are add-on packages. The HTC does come bundled with TOm Tom Navigator, but maps are extra cost, which may be true with the other two mentioned items.

[/Personal/Technology] permanent link


Sentiment Indicators with Option Statistics

When I have the time, I've been spending it adding capabilities to my trading software. My current addition is an Option Watcher. Nothing to really trade, just some thing to watch the state a complete options list for the trading instrument in which I'm interested.

A while ago, or rather, a long while ago, I looked into trading options. That turned out to be a very complicated endeavor. I decided to set it aside and come back to it later. Now isn't quite the 'later' I was thinking about, but I've been keeping them in mind. An article by Jeff Neal from Optionetics expanded upon the recent thoughts I've been having with his article called OUTSIDE THE BOX: Option Statistics as Sentiment Indicators. Here are a few choice exerpts where he says things better than I can:

One of the best ways to get a handle on sentiment in a particular stock is to monitor the activity of option traders. For instance, monitoring and tracking option volume and option open interest changes can reveal important information in regards to the expectations of traders, as well as how they may be positioned.

Option volume when unusually high can often times can identify explosive moves and identifies for the trader just where the action is taking place.

To best forecast a directional change in the market, it is important to monitor the daily gyrations of open interest. The thinking is that small investors are typically on the wrong side of a rally, an unusual increase or decline in the open interest of put and/or calls often signal a change in directional bias. Usually an abnormal rise or decline in open interest sends a contrarian type signal to the sentiment trader.

[/Trading/AutomatedTrading] permanent link


Recent Comments on Scalping in Elite Trader Forums

"The market is all about watching the same areas as the pros are and following their lead. Breakouts on low volume are rookies taking the shares off the pro's hands with no clue they can't fuel the next leg." -- mcichocki

"Some people can't scalp and others can't swing trade, it's all about finding what works for your mind." -- mcichocki

"learn to read tape and remember key numbers from tape support and resistance. The tape is true buying and selling so if you know what your doing with it you will know key levels to watch for breaks with heavy buyers/sellers." -- mcichocki (If one has a good memory, tape reading works. For those of us with less than good memories, having a program that shows total 'volume at price' opens up new vistas of information, similar to what you find when reading a tape.)

"Scalping can work at any market conditions, up, down, sideway... there are slow but no garbage days for a good scalper." -- enlightedtrader

"It's not unusual for a master scalper to obtain a daily trading outcome greater than the daily range although I've never seen it done on a consistently basis, day after day, often yes but not always." -- QuantPlus

"Signals always abound and noise has little impact - this is the zone where noise is tradable. " -- yoohoo

"The fact remains that the market zig-zags in every timeframe, and he who captures most of the distance covered has lower risk and greater return. Of course there us a cut off point where size is the final limiting factor for the scalper." -- yoohoo

"A zig-zag is longer than a straight line. The maximum profits are gained by trading the waves - that's simple maths." -- yoohoo

[/Trading] permanent link


HOW-TO: SSH and Remote File Systems

Debian Admin has an article called "Mount a remote file system through ssh using sshfs".

Here is the introduction of the how-to:

If you want to access a remote file system through ssh you need to install sshfs. sshfs is a filesystem client based on the SSH File Transfer Protocol. Since most SSH servers already support this protocol it is very easy to set up: i.e. on the server side there's nothing to do. On the client side mounting the file system is as easy as logging into the server with ssh.

[/OpenSource/Debian] permanent link


2007 Sep 20 - Thu

SmartQuant QuantDeveloper & DataCenter Release

SmartQuant has released a revision to DataCenter and QuantDeveloper. DataCenter and QuantDeveloper are at the following revision levels:

DataCenter
Version 2.3.3 (20-Sep-2007) 

QuantDeveloper Enterprise Edition
Version 2.7.1 (20-Sep-2007) 

QuantDeveloper Source Code
Version 2.6.2 (10-Jul-2007)
* Recent Versions available through 
  version control 

[/Trading/SmartQuant/Releases] permanent link


2007 Sep 18 - Tue

DirectSound Error 88780078

Sometime towards the end of July, I installed Windows XP latest sound stuff (Windows Media, DirectSound, etc), version 10 I think. I had been putting it off for a while. I had heard about licensing issues, codec problems, and such. In a moment of weakness, I clicked the Windows Update button and installed it. What a pain.

WinAmp plays fine most of the time. At some point in time, when it isnt' playing, and I 'do something', I have no idea yet, and when I go back to playing WinAmp, I'll get a message like:

Bad DirectSound Driver. Please install proper drivers or select another device in configuration. Error code: 88780078

Most of the time, I reboot my computer, and things magically fix themselves.

Upon further searching for solutions, someone pointed out a possible simple fix for my problmem of the DirectSound 88780078 problem:

  • Right click on My Computer
  • Manage
  • Device Manager
  • go down to where the exclamation point is
  • Right click to Disable, then Enable it.

In this case, it solved my problem. Now I'd like to know how it breaks randomly in the first place. Some have said it has to do with VMWare. I do have VMWare workstation installed, but hasn't been running for a while.

Any suggestions?

I did come across Microsoft Knowledge Base article 29030. You can run a Windows Installer Cleanup Utility. It's first screen shows, ironically, "Welcome to the Windows Installer Clean Up Installation Wizard". When running the application after the installation, I don't see anything having to do with sound, so just cancelled out.

There are more interesting solutions at TechSpot.

[/Personal/Technology/AudioPhonics] permanent link


2007 Sep 17 - Mon

Configuring Wheel Mouse in Debian

I'm running Debian in VMWare in Workstation mode. My wheel mouse doesn't work automatically. I had to have the following configuration in /etc/X11/xorg.conf for it to work:

Section "InputDevice"
        Identifier      "Configured Mouse"
        Driver          "mouse"
        Option          "CorePointer"
        Option          "Device"                "/dev/input/mice"
        Option          "Protocol"              "ExplorerPS/2"
        Option          "Emulate3Buttons"       "true"
        Option          "ZAxisMapping" "4 5"
        Option          "Buttons" "5"
EndSection

[/OpenSource/Debian] permanent link


Debian's Firefox is Known as Ice Weasel, and breaks Google Toolbar

Ok, I might be behind the times somewhat, I havn't used Debian in workstation mode in a while. To date, I've been using it substantially in console/server mode. Today I found trying to get Firefox to run, while in workstation mode, to be an 'interesting' experience.

Using Debian's built-in browser, Konqueror, I went to www.getfirefox.com to download Firefox. The download worked fine, but figuring out how to install/run it was.., not possible.

A little web searching told me that due to some differences of opinion between MOzilla and Debian, Debian has decided to do things a bit differently. With an 'apt-get install firefox', you get the latest software, but under a new name: IceWeasel. All well and fine. Until I wanted to use the Google Toolbar.

It isn't possible to install the toolbar because Google checks the user agent string. So... the trick is to change the user agent string. Put 'about:config' in the address bar. You'll get a bunch of entries. To make it easier to find the needed one, put 'useragent' in the filter line. In the line for 'general.useragent.extra.firefox', change 'iceweasel' to 'Firefox'. Restart firefox. The Google Toolbar is now available.

So in summary, don't download Firefox from the Mozilla web site. Instead, obtain the Debian install package. A change to the useragent will be needed to make it 'more compatible' with plugins and such.

The other plugin I use is FireBug with Firefox. This is a handy tool for troubleshooting CSS and HTML code on a web page. Two cool things with FireBug: 1) as you pass over html code, it's area on the web page is highlighted, and 2) you can edit HTML and CSS entries to see their immediate results reflected in the browser. Installing this tool took one trick... when downloading, do a 'run with' firefox. A new window will open allowing the install to proceed.

[/OpenSource/Debian] permanent link


2007 Sep 16 - Sun

Rock Paper Scissors

I think my first introduction to Rock Paper Scissors was in Dr. Who episode. I thought it was just something the writers made up. Later I was introduced to it when figuring out who was going to buy the beer with a best two out of three.

Now I find out that there is an actual web site devoted to the game: World RPS Society, with a by-line of "Serving the Needs of Decision Makers Since 1918". Even yearly tournaments are established locally as well as internationally. The site even has on-line training software to get you introduced in the privacy of your own desk.

There is even a book about Rock Paper Scissors. Well actually more than one... Amazon has 18 listed, some of which are only names for novels.

The basic rules of Rock Paper Scissors are:

  • Rock wins against Scissors,
  • Scissors wins against Paper
  • Paper wins against Rock

When used in a series of three moves, there are 27 possible combinations. Each set of three combinations is a gambit. These are the eight most popular gambits:

  • Avalanche (RRR)
  • Bureaucrat (PPP)
  • Crescendo (PSR)
  • Dénouement (RSP)
  • Fistfull o. Dollars (RPP)
  • Paper Dolls (PSS)
  • Scissor Sandwich (PSP)
  • Toolbox (SSS)

The one thing I notice about these gambits is that with seven of the eight, you can sequence readily from one to another in double gambit pairs, whereas with the eighth, the ToolBox, it can't be the first of a double gambit. This would tend to indicate a bias towards seven of the eight. But I suppose that is a starting point for advanced strategies.

Further information in the advanced section indicates that there are "Exclusive Strategies", a strategy where a player will only play two of the three throws. The opponent plays based upon the fact that the missing through has to come up at some time.

If you read the site, you'll find that there is all sorts of psychology and strategy wrapped up in the game. Almost like playing the prisoner's delima.

[/Personal] permanent link


2007 Sep 15 - Sat

Full Text RSS Blosxom Feeds

I previously wrote about getting a basic RSS Feed going. That feed had titles only in it. I wanted to get text into it as well. I had some problems getting it going. I think that if I ran my content through a validator like FEED Validator to start, I might have made progress faster. The key thing is that I need to write my text articles with out ampersands in the titles.

Anyway, I used information from Operational Dynamics web site to figure out the special command to include formatted content with 'CDATA'. I also used his plugin.

Here is the content of my files (wget may be necessary to get the content pure):

By removing a couple of minor elements in head.rss, the plug in rss20 won't be needed.

I would really like to get blog comments going. I tried them once but got too much spam. My next project is to migrate to Moveable Type. Hopefully they have better ways of handling comments.

[/OpenSource/blosxom] permanent link


NistNet and Netem: WAN Empairment Emulators

A client was putting together and testing an equipment package that was to be installed in their Disaster Recovery site. After getting everything up and running and tested, they wanted to test the replication performance in a 'real' WAN environment. One way to do this is to use a real WAN. The other way is to simulate a WAN. Consdering their DR site is several thousand miles away, simulating the WAN would be logistically better.

To emulate a WAN, one needs to be able to control:

  • variable delay
  • delay distribution
  • packet loss
  • packet re-ordering
  • rate control

In researching possible tools for emulating an WAN environment, I came across two open source tools WAN emulation tools. The first one I saw was NIST Net. Although it hasn't received too many recent updates, it does still have an active forum. And it appears to be quite sophisticated. It does require an x-windows for a library during compile time. With X11 Forewarding, you don't need to burden the WAN emulating computer with a GUI, can use another computer as a terminal. You can reference one of my Cygwin pages on how to remote X11 applications.

It is said that NIST Net is a bit better than NetEm as NIST Net has tighter controls on its delay mechanisms.

I came across the second wAN Emulator purely by chance. In reading through some of the NIST Net forum articles, one of the mentioned that the Linux Kernel already has one built in: NetEm. One may need to enable it and rebuld the kernel. It doesn't have a user interface, but instead relies on command line utilities. Someone did do up a GUI for NetEm, but has removed it for one reason or another. A newsgroup article has a reference to where it can be obtained. Someone else mentioned that MasterShaper could be used as an interface to the capabilities of NetEm.

Page 15 of a slide presentation shows command line examples for running NIST Net as well as NetEm. Another document offers up an example of using NetEm.

I was able to get NIST Net built on a Debian box. But the DR equipment had to be shipped out before I could actually give it a try. Oh well, I'll find another project to try it out on. Here are some build instructions for a recent Debian Kernel. There are some variations regarding availability of config.h depending upon the 2.6 kernel version you have available.

When obtaining the NistNet code in one of the commands below, some of the instructions assume you've expanded the library in /usr/src. As such, when the library is expanded, you'll need to change four lines in /usr/src/nistnet-3.0a/kernel/knistnet.c from

return ippt->func(skb, dev, ippt);

to:

return ippt->func(skb, dev, ippt, NULL);

You may need to comment out the following line in /usr/src/nistnet-3.0a/kernel/nistnet_table.c:

/* typedef enum {false = FALSE, true = TRUE} boolean; */

You may need to add a dummy config.h in /usr/src/linux-headers-2.6.21-2-686/include/linux/ with:

#ifndef _LINUX_CONFIG_H
#define _LINUX_CONFIG_H

#include 

#endif

You should also confirm that this file exists (depending upon your kernel version): /usr/src/linux-headers-2.6.21-2-686/include/linux/autoconf.h

Here are remaining installation instructions:

apt-get install vlan
apt-get install linux-headers-2.6.21-2-686
apt-get install x-window-system-core

apt-get install libxaw-headers libxmu-headers
apt-get install libxp-dev                        
apt-get install xaw3dg-dev

# might need:
ln -s /usr/lib/libXaw7.so.7 /usr/lib/libXaw.so

wget http://www-x.antd.nist.gov/nistnet/dist/nistnet.2.0.12c.tar.gz
tar -zxvf nistnet.2.0.12c.tar.gz

./configure
make
make install

depmod
modprobe nistnet
lsmod | grep nistnet
cnistnet -G

[/OpenSource/Debian/MasterShaper] permanent link


Trading Site of the Day -- Trade-Ideas: Real Time Idea and Signal Generation

In another article, I referenced the Trade-Ideas Blog. I don't recall ever making it over to their web site. Today I made it over to their site by way of an article there on Scalp Traders Access Their Best Trades with Trade-Ideas. They have links from their to a page they have whichreferences a bunch of their signals. I've coded several of those signals elsewhere, but this opens a whole new vista on possible trading opportunities from a scalping perspective.

Another page references how their analysis engine uses different time frames, different data types, and different statistics to come up with its signals.

I like how they do mini charts to provide an idea of daily and weekly price movements.

[/Trading/SiteOfTheDay/D200709] permanent link


Burning Water aka Breaking Water Into Hydrogen/Oxygen aka Electrolysis

A few days ago, there was a much talked about article regarding Radio Frequencies Help Burn Salt Water. Even John Mauldin referenced it.

Many people have gone off the deep end thinking that this is the next best thing to water running up hill. By looking a carefully at the video and reading the article, and doing a little research, one can understand what is going on. First a little background:

I'd say the radio frequency energy acts in a way similar to feeding electrical current directly through the salt solution (radio frequencies are the byproducts of an oscillating electrical current). The video showed us 'something' using between 200 and 400 Watts, about the equivalent of four standard 100W light bulbs. They were careful to not show us the frequencies used though.

Thinking more about how the hydrogen is produced and recombined, I seem to recall article and/or video from many moons ago about once you got this burning reaction going, you could keep the mix running by continually adding water. (No this is not perpetual motion because you are still supplying a source of energy--the water). Anyone remember research on this type of thing? In some blogs, there were comments suggesting that even though this a a decent reaction, but because it was not self-perpetuating, it isn't good. I beg to differ. Just think about oil for a moment. Untold amounts of energy is spent in finding it, drilling it, pumping it, refining it, and delivering it. Yet there is enough energy left over to fuel our cars and planes. Could it not be said that even though we lose energy in breaking the bonds to produce hydrogen, that there may be more energy left over to do other stuff? Looking at it another way, electrical energy is used to break the bond, and we get heat energy (although inefficient to use) when the bond is recombined.

I did find a reference to a Water Engine, but it wasn't quite what I was after. Besides, I think the scientist in that post misses the point. Yes, you can't use the same amount of water and expect to keep re-using it. But if you keep adding water into the system, you keep refueling the system, just like putting more gas into your auto fuel tank. An in most places, water is quite abundant. Burning water may be more or less as energy efficient as burning oil, but if I recall correctly (!), there is more water than oil.

If someone could point me to a reference where some one demonstrates a 'burning water' engine--an engine where you prime it with hydrogen, feed it water, and keep it burning--I'd be most appreciative.

But all this is water under the bridge, in comparison to what the video was really showing. It shows that if you can deliver the special particles to the site of a cancerous growth, and use radio waves to activate the particles, you can kill the cancer cells and leave everything else intact. Now that is what one would call 'precision bombing'.

Update: Through a Google link that passed through my site, I came across Stan Meyer and a Water Fuel Cell. If you look those up, you'll see all sorts of stories, conspiracies, and strange information floating around. Who/What can you beleive.

For other alternate energy systems, PESWiki looks interesting.

[/Personal/Technology] permanent link


Word Lists with a Calculator

FreshMeat, contrary to any derogatory images it may conjure in your mind, is a site dedicated to publicizing releases of open source software. It is a great combo to SourceForge.

Today on Freshmeat was a link to Frink, "a practical calculating tool and programming language designed to help us all to better understand the world around us, to help us get calculations right without getting bogged down in the mechanics, and to make a tool that's really useful in the real world. It tracks units of measure (feet, meters, kilograms, watts, etc.) through all calculations, allowing you to make physical calculations easily, to mix units of measure transparently, and ensures that the answers come out right." It deserves a special link on my toolbar.

One of the things it know how to do is word searches. Cheating at Scrabble is one suggested use. The interesting point, though, is that in one of the descriptions, he points to word list he uses: Grady Ward's Moby, a lexicon project. It has a hyphenator, part-of-speach definitions, pronunciator, Shakespeare, Thesaurus, and 610,000 words and phrases. It shows as a last update being around the year 2000 or so.

[/Personal/SoftwareDevelopment] permanent link


2007 Sep 14 - Fri

Software Development, Coders, and C++ Libraries

I grew up with Assembler, Pascal, then C, then C++, then C#, and now I'm back to C++. I've found that C# makes things easier for graphical programming, but it feels sluggish when doing some computationally intensive things. I've since moved back to C++. Development time has increased on some stuff, but I think things are better, and I derive more pleasure from C++ development. And C++ has a rich heritage and a rich library universe. This entry goes through some interesting things I've found.

One of the first libraries I came across was the Boost Libraries. I believe I've written about these before. A few specifics of interest include Regular Expressions, a soon to be released Time Series, date/time operations, some geometry constructs, state machine tools, and, well, the list goes on.

A few days ago, in looking for sophisticated Web Application tool kit. Wt: a C++ Web Toolkit appears to fit that niche very well. It also handles Ajax like functionality.

To assist with web development and layout, Firebug: A Firefox Addon might be of value for page layout issues. Although it has nothing to do with C++, which is the main topic here, it does have to do with finding a viable solution for checking out web page design.

Earlier today, I came across dzone: fresh links for developers. It has a wealth of links to articles written by developers for developers, developers of all categories and skill sets. Doing a search on C++ comes up with quite a list of articles.

One of the links pointed to The Programmicon. This article is mostly game based, but gaming shares cross-functionality with many disciplines. This once had two links to resources regarding finance. I was first introduced to Multivariate Embedding Methods by Carol Alexander on page 405 of her book Market Models. Although she won a prize for best price predictor using a model with that concept, I havn't been completely sold on it's applicability. If I had time I'd try it out. However, a key part of embedding is nearest neighbor analysis. The Programmicon points to a site providing ANN: A Library for Approximate Nearest Neighbor Searching. It also points to TMV - Template Matrix/Vector Library for C++, something else upon which embedding algorithms are built. Embeddings are based upon chaos theory. The concept is to try to find self-similarity in continous time. When similarities are found, you've got a predictor. Easier to say than do.

dzone also re-introduced me to LUA: An Embedded Programming Language. Debian Administration discusses how to incorporate it in to C++. I'm thinking it might be useful for scripting signals in a network monitoring package or defining charts in a financial modelling solution, or performing information searches in text analysis tools, or performing event & signal handling in a Cricket grapher.cgi rewrite. IEEE Software has an 8 page article called Traveling Light, the Lua Way. Kind of related is Kepler: Lua based web development platform.

During a brief flirtation with Fuzzy Logic, where one needs to evalute line crossings and area calcuations, I realized Computational Geometry might be of use. The C++ library Wykobi might be of value for optimized algorithms. The Code Project discusses its use.

I'm currently 'enjoying' MFC based development. I'm wondering if, since I'm still at a relatively early stage, I should be using TrollTech's Qt: Cross-Platform Rich Client Development Framework.

From a Microsoft perspective, Somasegar's Weblog has an article on 'Visual C++ Futures'. There are more than 200 user comments summing up needs, wants, and desires in that universe.

[/Trading/AutomatedTrading] permanent link


IP Addressing Best Practices (plus VRF and VLAN ideas)

I've encountered many weird and wonderful IP Addressing schemes during my consulting engagements. During my early years, I'm sure I've contributed some less than optimal ideas into the mix. I'm going to try to mend my ways and introduce some ideas that I think make things better.

Since the advent of Network Address Translation, network designers/architects/engineers have three basic address ranges from which to choose. These address ranges are based upon what is known as RFC 1918 - Address Allocation for Private Internets. The three ranges are:

  • 10.0.0.0/8
  • 172.16.0.0/12
  • 192.168.0.0/16

These are, what some call non-routable addresses. To be more specific, routers routing public addresses, will typically drop (not route) packets having destination addresses from these ranges. Of course, private networks are free to route these addressess as they see fit.

The commentary below assumes a basic knowledge of ip addressing, subnet allocation, host addressing, and routing.

When starting with small networks, a network installer may simply choose some random /24 block from one of the three ranges, and start assigning addresses to all devices on the network to that block. When installing IP Phones, some similar rationale may be used to pick some onother block for the phones. Some rationales that I've see included:

  • let's choose 10.20.10.x for workstations and 10.20.20.x for phones, it keeps them in a similar big block, and keeps the octents nice workable numbers
  • let's choose 10.20.30.x for workstations and 192.168.30.x for phones, it keeps them separate and identifiable, but yet similar in one octet
  • let's add 172.20.30.x as a network management block as it is something completely different and identifiable as being not normal traffic

I'm sure you can come up with many other mechanisms. But what happens when you want to get another office joined in? Then suddenly one has a bunch of different blocks one has to add into a routing table. The lazy answer would be to simply use a statement like 'network 10.0.0.0'. There. All routes for that block are automatically known and added into the routing table (syntax and concept varies a bit depending upon which routing protocol you use).

I'm not sure if that is an optimal solution. I generally like to be very specific about which subnets or supernets I allow into a network table. With addressing scattered through three different address ranges, detailed route table maintenance becomes time consuming.

I like to use route aggregation whenever possible.

I left that statement by itself as it is a very powerful statement. It is also a strong, guiding principle in network/routing table design.

I've used that to come up with a hierarchical addressing structure that works with many of my client sites. There are some scalability issues for very large organizations with many large offices. For the majority of organizations, I think the following scheme works well. As I'm in Bermuda, Bermuda is the center of my universe, and the numbering is based partially on that concept. There is nothing saying you can't change things to match your own geographic realities.

Since the 10/8 address range has the most number of addresses to work with, I use that as a basis for most schemes. The hiearchy I use follows this pattern. I'll break the last three octets into a bit map and assign meanings:

octet bitmap:
00001010.wwwxxxxx.yyyyzzzz.00000000

bitmap meanings:
www:   region (NA (001), SA (010), Europe (011), PacRim (101), Asia (100)
xxxxx: country [ BM 1, CA 2, US 3, UK 1, IR 2 ]
yyyy:  city [ HAM,BM 1; NY,US 1; PA,US 2 ]
zzzz:  VLAN 

The region numberse, starting at 1, are loosley based upon contintents and how inter-country fibres are run. These categories help with aggregation. Within a region, countries are numbered, starting at 1. Within a country, cities are numbered starting at 1. I start the numbering for each bit section at 1, as I use the 000, 00000, and 0000 portions for addressing of inter-region, inter-country, and inter-city links. You can't really aggregate those addresses into the routes of either site, so they need to be kept separate.

Therefore, for a site in Hamilton, Bermuda, addressing would start at 10.33.16.0. Addresses from the range 10.33.0.0 to 10.33.15.255 would be used for inter-city links. Addresses from 10.32.0.0 to 10.32.255.255 would be used for inter country links. Addresses from 10.0.0.0 to 10.31.255.255 would be used for inter-region links. Ip address utilization in this range is acknowledged to be quite sparse.

You'll note that this scheme breaks when you have coverage in more than 15 cities. Therefor the scheme needs to be adjusted based upon how many locations you have, how many buildings in each location, and how many floors in each location. It doesn't matter how the bit map is structured, just so long as some rule for aggregation is followed as the level of aggregation grows.

At each site, I've been refining a strategy for vlan and ip address block assignments. Sixteen is a base(2) number, and therefore easy to aggregate. I assign 16 /24 blocks and 16 VLANs per site using a strategy similar to:

+0	Subnets for /30 links
+1	Servers
+2	Server ILO Ports
+3	SAN, iSCSI Traffic
+4	Voice Servers & Gateways
+5	Lab/Classroom/Testing
+6	Spare, To Be Assigned
+7	DMZ
+8	Workstations
+9	Phones
+10	Wireless Corporate
+11	Wireless Phones
+12	Wireless Guest
+13	Wired Guest
+14	Printers
+15	Network Management

The first set of eight blocks are server related. The second block of eight are client related. If an organization has mulitiple floors, conceivably a sequential block of eight would be assigned to each additional floor.

For VLAN numbering, I have a couple of different schemes. One scheme starts at VLAN 100 and assigns vlans 100 through 115 to each /24.

A second scheme is more complicated. In some locations, I use VRF's to segragate and route traffic. VRF's are handy when you have guest traffic you want to keep separate from corporate traffic. Cisco has a number of SRND documents on how this is accomplished. Anyway, I've used up to 5 segragations: 1 global routing table plus four VRF's:

1XX	global		100
2XX	vrfExterior	200
3XX	vrfData		300
4XX	vrfVoice	400
5XX	vrfGuest	500

The first column is are the VLAN identifying numbers, the second is the VRF name, and the third column is the OSPF process number. By adding this numbering scheme to the VLAN types previously provided, the following table might be used, where column 1 is the VLAN ID, column 2 is a relative offset of a sequential VLAN numbering system, and the third column is the description:

	+0	Subnets for /30 links
301	+1	Servers
302	+2	Server ILO Ports
303	+3	SAN, iSCSI Traffic
304	+4	Voice Servers & Gateways
305	+5	Lab/Classroom/Testing
	+6	To Be Assigned
	+7	DMZ
308	+8	Workstations
309	+9	Phones
310	+10	Wireless Corporate
311	+11	Wireless Phones
512	+12	Wireless Guest
513	+13	Wired Guest
314	+14	Printers
115	+15	Network Management

Some don't have VLANs as they don't exist as VLANS, but are address ranges uses elsewhere at the site.

Here are some additional VLAN assignments I'll use:

  • 1: turned off, or not used at all
  • 2: trunk native VLAN
  • 3: 802.1x unauhtorized clients
  • 20 - 29: switch SPAN ports for various monitoring activities
  • 299: vrfExterior router to firewall exterior
  • 399: vrfInterior router to firewall interior
  • 599: vrfGuest router to firewall interior

Here is a finished table for showing address assignments for two different locations:

VLAN	Offset	BM Office	NY Office	
	+0	10.33.16.0	10.35.16.0	Subnets for /30 links and loopbacks
301	+1	10.33.17.0	10.35.17.0	Servers
302	+2	10.33.18.0	10.35.18.0	Server ILO Ports
303	+3	10.33.19.0	10.35.19.0	SAN, iSCSI Traffic
304	+4	10.33.20.0	10.35.20.0	Voice Servers & Gateways
305	+5	10.33.21.0	10.35.21.0	Lab/Classroom/Testing
	+6	10.33.22.0	10.35.22.0	To Be Assigned
	+7	10.33.23.0	10.35.23.0	DMZ
308	+8	10.33.24.0	10.35.24.0	Workstations
309	+9	10.33.25.0	10.35.25.0	Phones
310	+10	10.33.26.0	10.35.26.0	Wireless Corporate
311	+11	10.33.27.0	10.35.27.0	Wireless Phones
512	+12	10.33.28.0	10.35.28.0	Wireless Guest
513	+13	10.33.29.0	10.35.29.0	Wired Guest
314	+14	10.33.30.0	10.35.30.0	Printers
115	+15	10.33.31.0	10.35.31.0	Network Management
				
		Default Gateway is x.x.x.254		

This type of scheme, when implemented from the start, provides easy expansion of an organization's network, provides an ability to add protections between network devices, and simplifies inter-site routing.

[/OpenSource/Debian/AddressManagement] permanent link


LightFactory for Lighting BMDS' Production of The Sisterhood

It was an interesting experience, to say the least, in terms of being a first time lead lighting designer, introducing new equipment to the theatre, and learning a new piece of software.

All in all, the time was well spent. Live cue updates during rehearsals were simplified through a logical layout of lighting instruments in LightFactory.

In the diagram, instruments are assigned positions based upon the area they illuminate rather than the location they occupy in the grid. As such, in the diagram, there are five groups of four instruments. The top one of the diamond is a down light, the left was an amber 'warm' wash light, the right was a blue 'cold' wash, and the bottom was a lavender wash for the dark skinned actor, (the remainder of the cast were light skinned).

The channel over each of the four ColorCommand lights controlled the intensity. Each ColorCommand had three colors (magenta, yellow, and cyan), plus a beam width control.

Some of the specials were: 35: the bar bottle highlight, 32: a spot for a solo cast member talking to the audience, 19: a red downlight for the lovers, 2: the greenish downlight on the phone, 17,23: plant decoration, and 48: audience lights for intermission.

Over five acts, there were a total of 44 cues for the show, including one for doing a 15% on all lights for a lamp test.

The biggest hassle with LightFactory was in using the color lights. It took some time to work around some issues of assigning colors to a group of color lights. I think this has now been fixed. From what I see in the bug reports, there were some fixes implemented for refreshing Channel Groups and Palettes in a more timely fashion. I thought about updating the software once the bugs were fixed, but decided to run the software as it was through the show: better an enemy you know than one you don't. I'll update the software for the next show.

[/Personal/Lighting] permanent link


2007 Sep 13 - Thu

Computers Are Infallible -- NOT

A recent article at Kernel Trap entitled Data Errors During Drive Communication indicates that "An ongoing study on datasets of several Petabytes have shown that there can be 'silent data corruption' at rates much larger than one might naively expect from the expected error rates in RAID arrays and the expected probability of single bit uncorrected errors in hard disks".

This is an interesting read. I used to blame my ocmputer problems on Random Alpha Particles. I guess I can now expand my horizons.

[/Personal/Technology] permanent link


Trading Site of the Day -- Teresa Lo: Power Swings

Teresa Lo is a retired securities analyst who has a site called PowerSwings. Here analytical skills and powers of commentary show through. Two pages of interest, one on Volatility and one on Intraday Trading Strategies are recent articles with some good meat.

For intraday trading, she boils it down to:

  • Use small discretionary setups to scalp the first half-hour, especially when the market is really emotional. I particularly like small flags and gap plays documented in The Ultimate Trading Course.
  • Avoid getting killed after the first hour, when the market usually settles down and starts to chop. Stay out.
  • Get on board the train if it leaves the station in the afternoon for a trend day into the close.

Once I get into the swing of things, I'm hoping I can break her rule #2, which is where I think with contrarian Limit orders, one can make money in that sort of market condition.

She also promotes here Ultimate Trading Course. I don't know if it is a good thing or a bad thing, perhaps someone could let me know.

Her site links to a number of high quality blogs. WSJ Real Time Economics for one.

[/Trading/SiteOfTheDay/D200709] permanent link


Snow Squall Inn

If you happen to be the Wiscasset, Maine area, and need a place to stay, try out Snow Squall Inn. My good friend Melanie and her husband Paul own and operate the 7 room Bed & Breakfast. I hope to see them in October and check out their place.

[/Personal/Business] permanent link


Lighting for Moliere's Sisterhood, the 80's Version

From this month's production of Moliere's The Sisterhood at Bermuda Musical and Dramatic Society, here are three shots of the set during the Pre-Show, Intermission, and Post-Show Decoration cues. During the periods of activity, the set is fully lit, with subtle dimming of unused area. Unused areas would be the bar and the sofas at various times. This is my first show where I was lead on lighting design and programming.

The goal of the color splashes were to offset the black and white patterns of the main set. The color changes were also meant to occur in a somewhat early morning (cool of the day), mid day (warmer, hot sun), early evening sequence (heavy on sunset colors). The purple and green in the second were used to highlight the only actor with a color wardrobe, Trissotin, who had bright green and purple in his clothing.

I used three HighEnd ColorCommand lights to light the French Doors. One light was aimed at one door from far stage right, one was aimed at the other door from up stage center, and a third provided a splash across the backdrop from up stage center. The beam width was adjustable to provide a beam or a wash as I needed.

Although the pictures don't show it dramatically, a purple color splash was 'thrown' on the red backdrop in the hallway to highlight the phone. A slightly greenish downlight served to show the phone in stark contrast.

A square shuttered light was used to provide a highlight on the bottles at the bar throughout the play.

[/Personal/Lighting] permanent link


2007 Sep 11 - Tue

Recent Paper on Profitability of Technical Stock Trading

There is a recent, very readable paper from Stephan Schulmeister called The Profitability of Technical Stock Trading has Moved from Daily to Intraday Data. His abstract goes like this:

This paper investigates how technical trading systems exploit the momentum and reversal effects in the S&P 500 spot and futures market. The former is exploited by trend-following models, while the latter by contrarian models. In total, the performance of 2580 widely used models is analyzed. When based on daily data, the profitability of technical stock trading has steadily declined since 1960 and has become unprofitable over the 1990s. However, when based on 30-minutes-data the same models produce an average gross return of 8.8% per year between 1983 and 2000. These results do not change substantially when trading is simulated over six subperiods. Those 25 models which performed best over the most recent subperiod produce a significantly higher gross return over the subsequent subperiod than all models. Over the out-of-sample-period 2001-2006 the 2580 models perform much worse than between 1983 and 2000. This result could be due to stock markets becoming more efficient or to stock price trends shifting from 30-minutes-prices to prices of higher frequencies.

One of the interesting comments he makes is that contrarian strategies appear to be more profitable than do trending strategies.

In the article, the author offers up some possible reasons why technical trading is harder (but I should temper that remark and say that successful trading is more profitable with 'higher frequency' data--5 minute bars over 30 minute bars or daily data):

The decline in the profitability of technical trading based on daily data could be explained in two different ways. The "adaptive market hypothesis. (Lo, 2004; Neely-Weller-Ulrich, 2006) holds that asset markets have become gradually more efficient, partly because learning to exploit profit opportunities wipes them out, partly because information technologies steadily improve market efficiency (Ohlson, 2004). The second explanation holds that technical traders have been increasingly using intraday data instead of daily data. This development could have caused intraday price movements to become more persistent and, hence, exploitable by technical models. At the same time price changes on the basis of daily data might have become more erratic. This would then cause technical trading to become less profitable based on daily prices (but not on intraday prices).

Another interesting quote I came across regarding how everyone's trades get jumbled together, and what trader's think about it:

... traders have to form expectations about expectations of all other traders (Keynes. "beauty contest. problem).

[/Trading/TechnicalAnalysis] permanent link


2007 Sep 10 - Mon

Internet Information Analysis

In follow up to a previous post I did on news analysis, I came across Monitor110. They don't release much about how they do stuff, but they do release some information which sets the bar as to what can be done in terms of analysis of information found in various sorts of repositories found on the web.

[/Trading/AutomatedTrading] permanent link


2007 Sep 09 - Sun

VC++ MultiCast Delegate Template

In follow up to my article on Fast Delegates back in June, I used the C++ STL (Standard Template Library) to create a simple, one parameter Multicast Delegate for C++. The code provided here provides a mechanism for creating a Multicast Delegate by incorporating the FastDelegate library. I used the 'vector' template from the STL to implement dynamically adding and removing object method calls to the Delegate.

#pragma once

#include <vector>
#include "FastDelegate.h"
// http://www.codeproject.com/cpp/FastDelegate.asp

template<class RO> class Delegate {
  // RO: Return Object in call

public:
  typedef FastDelegate1<RO> OnMessageHandler;
  void Add( OnMessageHandler function );
  void Remove( OnMessageHandler function );
  bool IsEmpty();
  void operator()( RO );
protected:
private:
  std::vector<OnMessageHandler> rOnFD;
};

template<class RO> void Delegate<RO>::Add( 
OnMessageHandler function ) {
  rOnFD.push_back( function );
}

template<class RO> void Delegate<RO>::Remove( 
OnMessageHandler function ) {

  std::vector<OnMessageHandler>::iterator rOnFD_Iter;

  rOnFD_Iter = rOnFD.begin();
  while ( rOnFD.end() != rOnFD_Iter ) {
    if ( function == *rOnFD_Iter ) {
      rOnFD_Iter.erase( rOnFD_Iter );
      break;
    }
    rOnFD_Iter++;
  }
}

template<class RO> bool Delegate<RO>::IsEmpty() {
  return rOnFD.empty();
}

template<class RO> void Delegate<RO>::operator()( RO ro ) {

  std::vector<OnMessageHandler>::iterator rOnFD_Iter;

  rOnFD_Iter = rOnFD.begin();
  while ( rOnFD.end() != rOnFD_Iter ) {
    (*rOnFD_Iter)( ro );
    rOnFD_Iter++;
  }
}

// =======

// Here is a declaration of three events, with each event receiving a 
// pointer to a object with class of CIQFSymbol:

Delegate<CIQFSymbol*> OnFundamentalMessage, OnUpdateMessage, OnSummaryMessage;

// Here is how to add a delegate to the MultiCast Delegate:

pSym->OnFundamentalMessage.Add( 
  MakeDelegate( this, &CGTScalpDlg::EmitDataFundamental ) );

// EmitDataFundamental is declared with:

void EmitDataFundamental( CIQFSymbol *pSym );

// The mulicast delegate can then be invoked with:

OnFundamentalMessage( this );

// =======

Caveats: I havn't proven that Delegate's Remove method works as intended yet, but theoretically it should, as coded. Proper initialization, deconstruction cleanup, and thread safety are left as exercises for the reader.

[/Personal/SoftwareDevelopment] permanent link


2007 Sep 08 - Sat

BootDisk.com

Bootdisk.com is a handy site for creating all sorts of bootable media for all sorts of operating systems and hardware.

[/Personal/Technology] permanent link


Trading Site of the Day -- Non Dealing Desk: Forum for Forex

For those who want to get inside the wild-west business of forex, Non Dealing Desk Forum appears to be a good one with which to start.

It has quite a number of forum sections, but then ones at the top of the list have to do with 'Non-Dealing Desk Brokers', 'Dealing Desk Brokers', and 'Broker Selection Criteria'. Other forums feature real life examples of what can happen to a trader when submitting trades and stop orders.

Forum participants discuss the pros and cons of various brokers and of what to watch out for.

So even though one sees many advertisments in print and the web for $500 sign up accounts, they really are a guise for taking your money the easy way if you aren't prepared for trading desks trading against you and taking out stops on a regular basis.

So really, in the world of forex, it is caveat emptor. Choose your broker wisely, and above all, really hnow what you are doing (which ironically, may not be possible for the neophyte trying to get started).

[/Trading/SiteOfTheDay/D200709] permanent link


2007 Sep 06 - Thu

News Analysis

I subscribe to DTN's IQFeed data streams. (If you'd like to sign up, let me know I'll do a referral for you.) Anyway, in addition to the usual equity, futures, and options feeds, they have a news feed. Each feed entry has a media source indicator, a headline, a list of associated symbols, and a index number for obtaining the story content.

I thought it might be an interesting project to process each incoming message for its symbol list and do some sort of key word analysis to see if one can get a 'mood' of the article. This might provide some interesting trading ideas for the day.

I don't have the time to do it right now, but am recording my thoughts so I can come back to it a little later.

Two recent articles by Paul C. Tetlock in the The Journal of Finance, one in the June 2007 issue titled "Giving Content to Investor Sentiment: The Role of Media in the Stock Market", and one in an upcoming issue called "More Than Words: Quantifying Language to Measure Firms. Fundamentals", got me thinking about this again.

One of the articles pointed to the General Inquirer, no, not a racy tabloid but a "a computer-assisted approach for content analyses of textual data". Although GI references an application useful for researches, I think the interesting content resides with the spreadsheet of categorized words they have. These words can be used to classify the 'mood' of processed text.

The site also points to a book called "The Content Analysis Guidebook" by Kimberly A. Neuendorf as one that might shed further background on the concept. A while ago, I was taking a look at content anlysis from a different perspective, something akin to classifying market analysis and trading blogs. Some additional book references are linked below.

An application called Yoshikoder is an already built application that can take the GI word lists and process portions of text and produce analysis summaries.

A brief web search brought up a couple of blogs that show some perspective on how to put analysis into perspective:

Some 'possibly' related books:


[/Trading/AutomatedTrading] permanent link


2007 Sep 03 - Mon

Linux, Wine, MFC, Win32 API

for the trading application I'm developing, I was thinking that I'd only be able to run it on a Windows machine due to the fact that a couple of vendor supplied libraries are only supplied as Microsoft Windows .dll's and MFC C++ libraries. Perhaps such is not the case any more.

For whatever reason, I recalled that Wine is a "compatibility layer for running Windows programs". They say they can handle WinSock32 calls, which is probably one of the primary hard things to do.

So I'm hoping I can take the supplied vendor .dlls, my MFC .dlls, and load them into the wine layer, and they'll run. As a result, I can make further use of some of my remotely hosted Linux servers for hosting my trading platform, without resorting to installing either VMWare editions or real Windows platforms.

While on the subject of MFC and such, I want to record a few Win32 API/MFC sites that will help in some of the code development:

[/Trading/AutomatedTrading] permanent link


2007 Sep 01 - Sat

The Royal Gazette's Review of Sisterhood

Here is what Jennifer Hind of the Royal Gazette had to say of opening night for the Sisterhood:

Black and white with a touch of colour/classy and classic/heartless and cold?

Getting the balance right is one of the themes of this modern translation and reinterpretation of the classic 17th century Les Femmes Savantes by Moliere. The Sisterhood, R.R. Bolt's 1980s take on this comedy of manners and motives, explores sibling rivalry, the battle of the sexes and the conflict between intellectual snobbery and personal integrity at a cracking pace in rhyming couplets, replete with clever puns, irony, witty repartee and physical comedy.

It is also marvellously self-aware, with one character suggesting all the books should be burned . save the collection of Moliere as they must be worth a fortune.

The current production at the Daylesford Theatre, directed by Suzann McLean and produced by Jo Shane, is a clever realisation of a very clever play and well worth the price of admission.

Sisters Armande and Henriette are like chalk and cheese, with Armande seeking maternal approval through the parroting of her mother's and aunt's intellectual pretensions and aggressive feminism, while Henriette declares herself more interested in the sensory world than the world of the intellect.

The rivalry of these siblings, 'marriage is slavery' versus 'sex is better than speculative thought', is compounded by the fact that the poor but charming Clitandre, spurned by a scornful Armande, finds a warm welcome in the arms of Henriette. The young lovers' relationship is supported by Henriette's sympathetic but ineffective father, while her domineering mother has other plans for her daughter: marriage to a poet of dubious ability and large ambition. The parental battle of the sexes is spiced with a liberal sprinkling of a saucy maid, a lascivious aunt and a disloyal pal.

How the happy ending is contrived with a little help from their friends, involves a clever twist and a surprising revelation.

Very little, if anything, has been left to chance in this production. Even the music between the scenes, such as Madonna's 'Material Girl', and Hall and Oates' 'Maneater', have been carefully chosen to underscore the themes of the play. The scene is set with a black and white décor, carefully styled but unnatural, closed off from the colourful world of nature by a pair of French doors. The black and white theme is carried over to the costumes, with one exception: the flamboyant Trissotin appears as a Technicolor Boy George.

Enhancing the witty lines is a lot of delicious stage business . my favourite being the 'musical chairs' on the sofa in the second act. But even the manner in which Chrysale deals with the 'meaty matters' concerning the very down-to-earth Martine and the solving of the Rubik's cube puzzle show the deft hand of a thoughtful director.

There are generally strong performances from the cast, and the few pauses and flubbed lines could be put down to first-night nerves. That the play's rhyming couplets are never intrusive and even sound almost natural attests to the competence with which they are delivered. I am reluctant to single out individual performances, as all the acting was solid, with even the minor characters making striking impact.

I came away thoroughly amused and anxious to dust off the Hits of the 80s album buried at the back of my CD collection.

The play runs until September 8, with no performances on September 2 or September 3. Tickets ($25) are available from the BMDS box office 7 p.m. to 8 p.m. on performance nights.

[/Personal/Lighting] permanent link


2007 Aug 31 - Fri

Open Document Format (ODF) and Microsoft's Open Office XML (MS-OOXML)

The Open Document Format has been a standard for a while. It is amazing that Microsoft did not take part in that standard development effort. Well, no, it's not really amazing. It is well known that Microsoft likes to embrace, extend, and extinguish. It likes lock-in. It likes to be a monopoly. Acknowledging and working with ODF would not force people to buy and use Microsoft Office, which would be a definite profit problem.

As such, Microsoft has been pushing to have it's document format designated as a standard by ECMA. Having their format designated as a standard provides them with marketing visibility. Microsoft got real serious with pushing the format as a standard back last year when the State of Massachusetts wanted to standardize on a format. ODF appeared to be on the verge of winning. Microsoft was not amused by such a goal.

With the ECMA submission, Microsoft thought they could push things through. But with a 6000 page document, it required careful review. Many participating standards bodies have reservations about the standard. Microsoft isn't amused by that. In fact, they see the push back as being so signficant, that they are starting to pay their partners to become members of the various national bodies in order to stack the vote.

I do use Microsoft products, but I'm not really enthralled by their commercial ethical conduct. I really hope Vista bites them in the behind.... even our my boss, the owner of a Microsoft Gold Partner, is not totally thrilled by Vista. But, I digress.

I'm wondering if there is a way for the person in the street to speak back against such heavy handed corporate activity.

To keep people up to date on the standards activity, there are a few related web sites:

[/Personal/Technology] permanent link


2007 Aug 30 - Thu

Cisco Log Decoding

On the Cisco-voip mailing list, there was reference to a couple of sites that provide log decoders for Callmanger and IOS:

  • TripleCombo Tool: Triple Combo is a tool to aid people troubleshoot CallManager problems by providing a listed output of SCCP, MGCP, Q931 / H225, H245 messages found in CCM traces, CCAPI/VTSP, Q931 and MGCP debugs in IOS gateway traces and versatile filtering capabilities.
  • TranslatorX: TranslatorX allows you to quickly parse through Cisco CallManager trace files and search for Q.931, H.225, SCCP (Skinny), MGCP, or SIP messages.

They aren't necessarily TAC supported, but they may help to weed through and make sense of what would be otherwise painful troubleshooting.

[/Cisco/Callmanager] permanent link


2007 Aug 29 - Wed

Lighting for Moliere's Sisterhood

The last I wrote regarding lighting effects for The Sisterhood was in an article back on Aug 11 where I discussed getting the equipment ready prior to design.

Working with the equipment is a whole other story.

The set really wasn't ready for use by the actors until about Aug 29. All I could really do in the meantime was get most of the basic lights mounted and pointed in the right direction. I lit the stage with cells of three lights, with the three lights each of a different color: amber for a warm wash, a blue for a cold wash, and a lavender for part of the wash with a black actor.

In my previous article, I wrote about obtaining a second USB-DMX box so I could use the sliders on the existing lighting board as input. It did arrive, and I did use it. It was interesting to work with LightFactory to figure out which was the input and which was the output, based upon the flashing activity light on the convertor. I also found that the input channel froze every once in a while (perhaps the light board was set to send too fast). In any case, I found that I really didn't need slider input once I discovered that one can layout channels on a canvas in LightFactory. This turned out to be even better than trying to cross-patch channels in some sort of meaningful layout. By arranging the three color cells along with a no-blue blue downlight in how they lighted the stage, adjusting dimmers became easy. I simply control clicked (for selecting the amber channels) or box-selected dimmers (for the channels in one or more cells), then used the mouse scroll wheel to increase or decrease intensity as desired. I have no desire to use a lighting board after experiencing the ease in which the software allowed me to make changes on the fly.

I did spend a couple long days trying to tame the color changers though. The software made it easy to select colors and intensity, but it got in the way when trying save and retry groups and palettes. I ended up submitting five or six bug reports one morning after figuring out how to work around my frustrations. I was surprised when I received responses back that same day from the vendor to say that they had fixed the bugs. That was excellent turn around. However, that does cut both ways: why did the software have these silly bugs in the first place, but when encountered, they did fix the problems quickly.

I did spend quite a bit of time in the grid for light focussing. The PDA based remote focus software worked well in conjunction with LightFactory. I just wish it had a slider, and a better scroll back buffer. I had to turn off power management on my PDA so it would remain on, otherwise I'd have to restart the remote software as it would lose the connection to LightFactory.

For lighting, there were five major areas: an outside patio up stage right, a hallway with red wall on stage left, a bar down stage right, two sofas up stage center, and main stage area down stage center. I used three color changers in the patio area at various angles to provide various day time color changes and mixes. I used a single color changer in the hallway to cast a purple light over the hallway phone. The bar had a Source Four angled and shuttered to give a hightlight to the liquor bottles as a kind of ornamentation.

For the remainder of the stage, there was one light cell (three colors plus down light) for each of the two sofas, one for the french door entry way, three cells for down stage center, and one for the bar. I ended up having to do three long throw Source Fours to get stage left as regular lights cast a bad shadow into the hallway (only 8 ft walls).

The director decided to highlight certain parts of the stage by dimming cells in other parts of the stage when no activity was being undertaken. Ten and fifteen second fades were used to make the transitions subtle to the audience.

This play was used to come up to speed with the software. The usual excuse, if I'd had the time, I could have done more interesting things with the fades more often. As it was, it was good. A photographer took some pictures of the set as lighted for intermission set decoration. I hope to get some loaded here soon.

[/Personal/Lighting] permanent link


2007 Aug 26 - Sun

HTC P4550 Kaiser TyTN II

It is said that this device is to be released sometime during September, any where from second week to Oct 1, depending upon who you read.

This I think is the device that finally gets it right. The microSD card is externall insertable (on the P3300, you had to remove the battery and SIM card to get one installed). It has GPS built in, has quad band. It has more horsepower, more RAM and more ROM. It runs Microsoft Mobile 6 (supposedly the P3300 is upgradeable to v6 at some time).

I'll keep my eyes open to the following sites to see when it becomes available:

HTC has the user manual and quick start manuals available for download in their support pages.

[/Personal/Technology] permanent link


2007 Aug 23 - Thu

Open Source Network Empairment Emulator

I have a customer who wants to simluate file replication traffic over a Wan link. I came across NIST Net, which is a network emulation package that runs on Linux. A paper called NIST Net -- A Linux-based Network Emulation Tooldescribes the algorithms behind what it does.

While not necessarily having something to do with network empairment emulation, during my search, I did come across a document that offers up how to use IP Accounting in Cisco IOS devices. It may be a good supplement to NetFlow based packet accounting. Netflow will provide both port and address information, while IP Accounting only provides address information, and sometimes mac information.

[/OpenSource] permanent link


Open Source Site of the Day -- Some Sites Referencing SNMP Sites

[/OpenSource/SiteOfTheDay/D200708] permanent link


2007 Aug 17 - Fri

Genetic Programming Tool: Open BEAGLE

On the Yahoo Tech Group, Genetic Programming, is a reference to a Genetic Programming tool based upon C++, called Open BEAGLE, which stands for "Beagle Engine is an Advanced Genetic Learning Environment.

It is hosted on SourceForge.

In addition, it has a Yahoo Group. Although it appears to be based upon a Linux platform, I see someone is maintaining the ability for running in Microsoft Visual Studio 2005.

[/OpenSource/Programming] permanent link


2007 Aug 16 - Thu

Asterisk Cisco CallManager Voicemail Integration
Asterisk Cisco CallManager Voicemail Integration

[/Cisco/Callmanager] permanent link


2007 Aug 14 - Tue

Recording Calls in a Cisco Environment

In one of today's Cisco listserves, there were a few suggestions for Call Recording software:

  • NICE Contact Center & Enterprise Products
  • "run Asterisk and use it as your outbound/inbound gateway. Let it open a second connection to the actual destination, and record"
  • "base something on pcapsipdump"
  • Telrex
  • Edigin
  • Witness
  • Comvurgent: "It works ok, but you have to manually type in the phone number for each call"
  • CAllReplay
  • Oreka: Oreka is a modular and cross-platform system for recording and retrieval of audio streams. The project currently supports VoIP and sound device based capture. Recordings metadata can be stored in any mainstream database. Retrieval of captured sessions is web based.

[/Cisco/Callmanager] permanent link


LINQ: Language Integrated Query

In the upcoming release of Microsoft's .NET version 3.0, code named ORCA, they have a fewature called Language Integrated Query (LINQ). [Come to think of it, v3.0 is now out, I've been rooted in C++, I'll have to get back to C@ and check it out]. The language extension allows one to write queries for anything with an iterator. Writing inline SQL queries comes immediately to mind. I've also heard that there is something called PLINQ (Parallel LINQ).

Here are a couple of references regarding the subject:

On an unrelated programming note, erlang is said to be a language for developing interacting distributed applications. One interesting capability is Hot Code Replacement (replacing code and data without stopping the system).

[/Personal/SoftwareDevelopment] permanent link


C++ STL (Standard Template Library)

Here is a nifty shortcut to make C++ do what you can do in C#:

public static void ForEach(this IEnumerable ienum, Action func)
{
    foreach (var v in ienum)
        func(v);
}

[/Personal/SoftwareDevelopment] permanent link


Trading Site of the Day -- IVolatility.com: Implied Volatility Data

I would say, based upon the sites I've seen so far, at least from a volatility point of view, IVolatility.com is probably the best for information regarding volatility and its uses. As far as I can tell, they provide data only, no brokerage services. For trading purposes, ThinOrSwim can nicely supply that requirement.

IVolatility provides various and sundry scanners, the best option choice for the day, many different ways to analyze options and their combinations, as well as a knowledge base for honing your skills for any type of market. They also have, what seems to be, a weekly Trading Digest Blog, which comes out on each Monday, for helping to identify the type of market, and the types of trades to do in that market type.

Anyone can by naked calls in a rising market. The true traders ar those who can make the right option combination in a rising market, a falling market, or a sideways market.

I wish I know about this site when I first learned about options.

[/Trading/SiteOfTheDay/D200708] permanent link


2007 Aug 12 - Sun

Trading Site of the Day -- Seeking Alpha: Stock Market Opinion & Analysis

Seeking Alpha is a site containing mostly, if not all, reader contributed articles. It is quite active, even on a Sunday. One get commentary and opinion on the market in general, as well as industries and companies in specific.

One article, in particular, caught my eye today: The 'Plunge Protection Team' Working Overtime: A Play-By-Play. Gary Dorsch writes an article that does a good job of time-relating intra day market gyrations with public comments from the US President, Henry Paulson, as well as a number of other key news releases.

Perhaps by focussing on key news articles during the day, such as real time news feeds by The Fly on the Wall, one can ride and profit the market changes as they occur. That may improve the profitability of those trading the market futures such as YM.

The RSS feeds to the web site are numerous and well categoriized.

One other note to make regarding the Seeking Alpha web site. For those wanting to get noticed in the world as an 'expert' or as a 'blogger' or both, writing regular informative articles for the site would probably be of benefit. Publicity would be free.

[/Trading/SiteOfTheDay/D200708] permanent link


2007 Aug 11 - Sat

The Geek Side of Lighting

Saturday didn't start off so well. I was going to ride my pedal bike into town for the day. That was not to be. On getting on my bike, I find that it had flat. Rather than fixing the flat right then, I put it off till Sunday, and drove my car into town. This turned out to be fortuitous, as the theatre was having 'cleaning day', and I was able to pick up a few pieces of furniture to haul home. However on the way back in, I decided to take the 'scenic route' down to Flatts and back. It was such a nice day for a drive. My car didn't think so. It decided to konk out a little ways back from Flatts on Middle Road. I spent an hour or two sitting in the grass waiting for the tow truck to arrive. In waiting, I noticed that there weren't too many, if any, 20 year Toyota's still around. Most of the drivers had spiffy new cars. So being without transportation made it a bit difficult to make it to a party I supposed to go to.

Instead, much belatedly, I made it back to BMDS and worked on finishing up making DMX cables for the four new High End Color Command lights the G&S Society donated. Making up the cables went well. When it was all said and done, I had the following DMX chain:

  • My laptop running LightFactory with a 512 channel license, and the High End light fixture library
  • An Enttec DMX USB Pro adaptor, to control the DMX chain over USB from my laptop
  • Four Color Command static color change light fixtures, with DMX offset 73
  • A four channel dimmer pack for testing the ColorCommand light intensity control, with DMX offset 49
  • the 48 channel house dimmer system, at DMX offset 1

In an earlier article, I made some misguided remark as to why the Color Command offset appeared to be off by one. Upon reading the instructions, I found that the first channel is assigned to the Color Control box itself. Sets of four channels after that are each assigned to the Color Command lights: Cyan, Yellow, Magenta, and beam width. The colors turn out to be bright, intense and beautiful.

I found that even though the DMX USB Pro has a DMX in, it doesn't segregate the in-stream from the out-stream, it is simply pass through device. Therefore I couldn't connect up our ETC Express 72/144 Light Board and use it as a physical submaster board input to the software. I've ordered another DMX USB Pro to resolve that little issue: one will be 'in', one will be DMX control 'out'.

My laptop is connected to the internet through a wireless access point. My PDA has 802.11 wireless capbility. The LightFactory software has a remote telnet capability with software that can be loaded on my Windows Mobile 5 PDA. The combination makes for a time saving and vocal chord saving ability to test light focus right from within the grid.

The easy part is done. Now the fun part of doing the lighting design is next.

[/Personal/Lighting] permanent link


John H. Holland

Programs that learn, changing the course of calculation as the model accumulates experience, are rare after almost half a century of endeavor. We still have little theory to guide us and few implementations. . John H. Holland

[/Personal/TagLines] permanent link


2007 Aug 10 - Fri

The Sisterhood ("Les Femmes Savantes")

BMDS has a new production opening up on August 30, 2007. We have another imported directory for this one, Suzann McLean. The Sisterhood is a "farce about cultural elitism and the triumph of true love over snobbery. One of Molière.s most popular comedies." The play has been modernized and is set in a chic 1980's salon. I'm assisting Doug Parker on this one. We had our first production meeting with the director earlier this month.

The set, for the internal areas, is blacks and whites. The outer courtyard will have more color in it. As of tonight, set construction has proceeded to the point where most of the basic wall structure is place. There is still some question as to how high to make the walls, a standard 8 feet, or would a total of 10 feet be better? Producer Jo Shane is working her way through that question.

From a lighting perspective, after taking a quick glance through the script, I thought it might be another simple lights-on/lights-off type of scenario. But after some clarification from the director that the story takes place over the course of the day, we find we can have some fun with light angles and colors to simulate a moving sun. In addition, the interior set has a three or four primary areas: a bar area, patio doors, a couch area, and a hallway with telephone. The director has called for subtle light changes to highlight the action areas as they occur.

Earlier in the year, the Gilbert and Sullivan society donated a new light board and four High End lights. We were able to use the lighting board for the Famous for 15 production. As we were missing cables and connections for the lights, we couldn't use the new lights then. They would have proven useful for the night club play.

I did order some DMX connectors from SIRS Electronics in McAllen Texas. I ordered through their web page. The order was handled quickly and was complete on arrival. The color lights have a controller box, and are connected to it through four pin DMX connectors. The box is connected to the light board with a five pin DMX connector. After some research on Beldin's website as to an appropriate cable to use with the connectors, I found that standard Category 5 network cable would fit the bill. There is ample supply of that type available to us.

After work this evening, Doug Parker and I met at the theatre to try out the colored lights. Mary Brier stopped by for a bit to see how things were going. Doug did the plugs for the light electricals, and I soldored some test signal cables together so we could see how the things work. After suffering through a mild blonde moment where we couldn't get the light to come on, we realized the grandmaster wasn't up (ok, that did prove my soldoring job first time through was good). Whew, simple problem number 1 down. The second problem took a bit longer to figure out. With no manuals to work from, we had to go by guess and by golly. I imagine the light manufacturer had the same question often enough, such that they printed the directions on the control box. It took a bit of fiddling, but we found an auto mode in which the control box found its light. After that, it was smooth sailing. One thing to remember is that the sliders on the light board are numbered starting from 1, and DMX channels are numbered starting at 0, which I think is why when we progammed a DMX offset of 73 into the controllor, we had slider 74 as the first active slider.

Saturday we go back in to make the remaining control cables and test out the three remaining color lights.

As part of the order with SIRS, I obtained a copy of Light Factory. Light Factory has a downloadable fixture library for the High End lights we have. Perhaps we can try out the new lights as well as the new software for the upcoming production.

[/Personal/Lighting] permanent link


2007 Aug 09 - Thu

Lighting Assistant at Bermuda Musical & Dramatic Society

Since the beginning of the year, I've been helping out with Lighting Design with the Bermuda Musical & Dramatic Society at the Daylesford Cinema on Dundonald Street in Hamilton. The first production was a straight forward, almost as simple as white lights on-white lights off, lighting requirement for Sordid Lives (A Black Comedy about White Trash). The lead lighting designer, Mary Brier, came down with pnemonia just prior to opening night. As such, I 'ran' the lights for the 10 nights the show was open. No big deal. Press the 'go cue' button when called to do so by the stage manager. Stage manger was Nicola Wilkinson, who was great to work with.

Next show up was a musical by the name of The Mystery of Edwin Drood. We had an off island director by the name of Vivienne Elborne. For lights, Doug Parker, the lighting designer on this one, took a different approach to lighting. For primary lighting, he ran with a number of clusters of three lights each. Each cluster had red, green and blue filters. As such, any color could be chosen for lighting the covered area, including white. Because three separate lights were used, we had some interesting colored shadows as artifacts. At first I thought it was a bad thing, but after a while, It seemed appropriate for how the stage had been designed. We did use some fill in whites as well as some specials. One of the specials was a white light shining out of the crypt, with a smoke generator running, as a cue to Drood to come out. It looked quite good.

Mary Brier was lead designer for the next production, Famous for 15 Minutes. This is a production with six plays, each being fifteen minutes long. Lighting this production taxed the inventory of lights and lighting channels. One of the more challenging plays of the sequence was Bermuda Triangle, which is set on a sailboat about to encounter a hurricane. This one required careful timing of lighting (lightning) and sound (thunder) queues. As the storm approached, lightning and thunder became stronger and closer together. The play that did win the Golden Inkpot was Grass is Greener. To simulate a light club we did a simple two light special by shining an emerald and a purple spot on the back wall.

[/Personal/Lighting] permanent link


Trading Site of the Day -- QWAFAFEW: A four letter word for those who can't count?

Really, that means: Quantitative Work Alliance for Applied Finance, Education, and Wisdom. Quite a mouthful. Anyway, this appears to be a current and running site for quants in various stages of the game. Regular meetings are held, and the site is chock full of presentations regarding Hedge Funds, Regression, Portfolio Construction, Simulations, etc.

Plus it has a random quote section, one of which I found rather pointed:

When asked what it was like to set about proving something, the mathematician likened proving a theorem to seeing the peak of a mountain and trying to climb to the top. One establishes a base camp and begins scaling the mountain's sheer face, encountering obstacles at every turn, often retracing one's steps and struggling every foot of the journey. Finally when the top is reached, one stands examining the peak, taking in the view of the surrounding country side and then noting the automobile road up the other side! . Robert J. Kleinhenz

Here is a self description of the group:

QWAFAFEW is an informal organization of quantitatively oriented professionals in various aspects of financial services (primarily investment management). The group was formed ... to provide a venue for quantitative researchers to discuss their evolving work with peers. ... The members span the gamut from owners and senior executives of investment related organizations to recent entrants to the industry.

Another good quote. I wonder where they get their database from.

A new scientific truth does not triumph by convincing its opponents and making them see the light, but rather because its opponents eventually die, and a new generation grows up that is familiar with it. . Max Planck

On another track, they have a link to a recent New Yorker article, called Hedge Clipping, where they have an interview with an ex-analyst, now academic, Harry Kat, who has developed some software to emulate trading styles of hedge funds that he could find that had published data about their returns and asset type usage. He charges clients one third of one percent of the moeny they invest using the software. The interesting thing I learned in the article is that it is typical for fund managers to make 2 percent of the value invested, plus twenty percent of any profits that the fund generates. A nice little return, for the fund manager. Just so long as the fund generates significant enough returns to cover the percentages.

[/Trading/SiteOfTheDay/D200708] permanent link


2007 Aug 07 - Tue

Trading Site of the Day -- Market Delta: See Inside the Chart

I am now, quite simply, amazed. I knew what I was for and was thinking that it wasn't truly original, but I had not been able to find it. Until now. Of course, it was already there, but I just didn't know what to look for.

In a previous post, I discussed the sequence of events I encountered in realizing the power of the Market Profile, and that it will yield good information about a symbol's meanderings. Market Profile is mostly about price brackets over the course of a period of time, which is typicall a day's duration broken down into 30 minute intervals.

But knowing that volume has much to do with interpreting market activity, I knew that Market Profile needed that 'something extra'.

Market Delta takes the Market Profile concepts, adds volume information at the bid/ask/trade perspective, and provides versatile and flexible mechanisms for viewing the data in any volume related market (which excludes straight forex, but includes forex futures). Market Delta demonstrates dramatically the concepts that I knew to be possible.

Market Delta's web site has excellent training and tutorial materials. There are video presentations as well.

Market Delta works with feeds from Interactive Brokers and IQFeed, as well as others. One of the others is a broker called CQG, one that I have not heard of before, and gets a variety of reviews at www.elitetrader.

In an article called Market Profile: A Best Practice in Trading, Brett Steenbarger makes a good point that is useful in overall trading that I like to keep in mind: "be aware of value areas at one level larger than the timeframe being traded". In an Amazon review of the "Markets in Profile" book, he further enhances this by quoting from the book: "If you can correctly identify which timeframe is in control of market activity, and you have a good understanding of how the individual timeframes generally behave, then you are in a stronger position to trade, invest, and effectively control risk." I'd like to add that the same holds true for keeping track of what occured in previous time frames. Points of Control (POC), which are price points at which highest volume occurred, are good sources of support and resistance, and are an example of points of information available from previous and larger time frames.

He also makes reference to a site called WINdoTRADEr. The page to which I have linked has some interesting screen captures of the market profile in action and how previous time frames relate to following time frames.

As a side note, in a previous message, I introduced 'proprietary trading firms'. Brett says "the best strategy for finding solid proprietary trading firms is to go to the futures exchanges themselves and obtain a list of their clearing members. You'll find major prop firms within such a list. The CME education dept maintains a list; they're quite helpful--".

As another side note, of marginal interest, to make something painfully obvious, some traders build bars from ticks, rather time. And in building tick bars, they will use tick counts of 233, 37, 610, etc. And until I looked it them up, I didn't realize those are actually Fibonacci number series elements.

Anyway, to wrap this up, Market Profile and Market Delta appear to have the concepts for which I've been looking for: showing how the markets move, and offering insight into making the best use of the information relating to bid/ask/price and volume, at each price level.

[/Trading/SiteOfTheDay/D200708] permanent link


GenAlgo: Genetic Algorithms

I found a link to GenAlgo.com through a link at the Google group comp.ai. They advertised themselves as a site for people to publish their 'rejected papers'. I suppose one could be concerned about the quality, but I think there is enough substance there that it is a decent site with content relating to:

  • Genetic Programming
  • Artificial Intelligence (mostly fuzzy logic)
  • Data Mining
  • Neural Networks
  • JAIR Articles
  • a lightly loaded forum

Based upon the date of publication of their first newsletter, it looks like the site has been around since Aug 2006.

Probably 'THE' bibliography for related papers would be The Collection of Computer Science Bibliographies, where the Bibliography on Genetic Programming shows 5748 references at the time of this writing.

[/Personal/SoftwareDevelopment] permanent link


2007 Aug 05 - Sun

Trading Site of the Day -- Trader's Narrative

I was pointed to Trader's Narrative through a link at Elite Trader via a thread regarding margins and haircuts (the two being the same thing). This link points to a list of proprietary trading firms, where Genesis Securities is listed as one. I guess I have an exam to write to get a better haircut!

It seems that once a person has passed what is known as the Series 7 exam (a 6 hour, 250 question General Securities Representative Examination), one can join a proprietary trading firm and enjoy margins in the 20-1 region. Regular retail traders get 4-1 during the day and 2-1 over-night. There are a number of preparation books listed at Amazon. One poster suggested Securities Training Corporation.

Trader's Narrative blog also has an entry regarding the use of the McClellan Summation Index as it relates to the Nasdaq and NYSE markets. According to that index, the markets can fall some more and still be above previous declines.

A couple of links later, I found myself at VIX and More and a summary page on the McClellan Summation Index, which is basically an advance/decline tool. VIX and More should probably be on a Trading Site of the Day entry by itself. Anyway, from there, I got to where there is a description of the actual calculation at the McClellan Financial Publications.

[/Trading/SiteOfTheDay/D200708] permanent link


Shopping by Night Owls

I'm not sure who dreamed this one up, here is a good one:

While shopping on the Internet has always been a 24-hour ordeal, some retailers are starting to realize the potential of offering online-only discounts when their stores are closed. Traditional stores like Sears (SHLD), Kohl's (KSS) and Dick's Sporting Goods (DKS) are offering online-only discounts between midnight and dawn. [Reference Link]:[http://www.chicagotribune.com]

Do they want people not to go to their stores?

[/Personal/Business] permanent link


Trading System Design Thoughts: Price - Volume - Time

I spent a couple of years using SmartQuant's QuantDeveloper (now owned by QuantHouse) to evaluate the viability of various technical analysis based trading systems. I had great success with tweaking simulations to make in-band solutions work, but when it came to using the developed scenario for out-of-band data, the attempted solutions became woefully inadequate.

In reading various books and blogs, I could see that people, when trading using traditional technical analysis tools, would spend much of their time on the look-out for new stocks with a potential for a large trend, whether the trend be up or down. I asked my self why does one need to jump from stock to stock to find trades? In effect, those traders are looking for directional volatility. As a corrollory, it would appear that they are unable to make money when markets go sideways (ie, don't trend one way or the other).

The people looking for trends will always have market scanners running in order to find the 'hot stock' for the day. Depending upon the sensitiviity of the scanner, much of the trend to be found could have already been run, with very little left to go. One really needs to be in on the ground floor, but those opportunities are few and far between.

When looking through Amazon book lists for traders, all one really sees are books based upon chart analysis, technical indicators, and stock selection. During my initial research into trading, I did in fact obtain a number of those books. But as already mentioned, I became dissillusioned with what they had to say. I couldn't really put my finger on the answer to the question of why. Some good, solid, statistically validated answers became apparent once I obtained "Evidence Based Technical Analysis" by David Aronson. He basically proved what I had finally learned: a lot of published techniques are only so many words on paper. (I think I ranted about this once before, come to think of it).

While looking at equity trading, I also did a bunch of research into options trading. Good options traders know all about volatility, and how to make use of volatility in selecting an appropriate options trading strategy. Because of the wide variety of options strategies, and my inexperience with making money in this realm, I decided to back off of options, and move back to equities.

As a side note, it is interesting to note that the authors (Chacko, Jurek, and Stafford) of a paper entitled "The Price of Immediacy", in a recent issue of Journal of Finance, "show that limit orders are American options", which is a nice segue into equities. (The article number is 4458.pdf).

During the transition back to equities, I came across J. Welles Wilder Jr.'s book called "New Concepts in Technical Trading Systems". He appears to be the one who introduced the Average True Range, which is a mechanism for measuring volatility.

With a better understanding of volatility, I set out to use this knowledge in trading equities. I created a stock screener to use end of day data to find equities with good daily volatility. From an absolute volatility perspective, GOOG always landed on the top of the selection list. But one needs to be well financed to trade there as it is currently in the $500 range. ICE turned out to be a good runner up with it being in the $150 range with good daily liquidity.

I havn't assimiliated all it's nuances yet, but Joseph E. Murphy, Jr.'s book "Stock Market Probability" has much to say on statistics and probability as it relates to stock movement. Although it covers mostly long term trading, it may be useful for intraday movements.

Content of "Bollinger on Bollinger Bands" by John Bollinger assisted much in terms of understanding and measuring volatility.

In relation to Bollinger Bands, I developed a peak detection tool to determine how often an equity changes trend direction in any given day. The relationship is that peaks will typcially relate to Bollinger Band edges, and point out new edges, so to speak. Since the peak detection tool provides peak determination in a real-time delayed fashion (yes, I know I could explain that better, but it sounded more interesting that way), it can't be used directly as a trading tool, but it does yield some interesting statistics in terms of average peak-to-trough runs and their average duration. On a volatile equity, one gets lots of peaks, some bigger than others. I've found that I should be able to focus on one or two stocks regularily, and begin to learn it's idiocyncracies, and as a result trade it profitably, even though it may, from a daily chart reader's perspective, be going sideways. It may be trading side ways over a period of days, but it will have lots of intra-day ups and downs.

This, in effect, is what Market Makers do: act as sources of liquidity to traders. They play the market on both sides simultaneously. They enter the market at the beginning of the day directionless, and attempt to end the day directionaless, that is either with no portfolio, or with a portfolio with evenly matched short and longs. In Option Maker's parlance, this is called ending the day with a zero delta.

You'd think that a book by the title of "The Market Maker's Edge", which in this case is written by Josh Lukeman, provide some details about market making and how to trade in that manner. Instead, the book has a decidedly technical analysis bent, with not enough on the higher frequecy perspective on trading. "The Nasdaq Trader's Toolkit" by M. Rogan LaBier does a much better job of introducing one to Level II data, and what is happening on the markets. But the book dates itself through screen shots using fractions rather than the current decimalized system.

As a book not necessarily devoted to Level II analysis, I did find "Mastering the Trade" by John F. Carter to be extremely helpful in finding out about various market relationships, including what to look for before the market opens. It also suggested ways to make use of the trin and tick indicators while the market is open. The book "The ARMS Index (TRIN)" by Richard W. Arms, Jr. provides much background on how this works, and is a very useful tool for helping in determining short term (intra day) market movement.

So, after having said all that, I've come to realize that 'it' is really all about short term (intra day) market movement. Can one make money from all the gyrations of the market? It comes down to statistics and probability: how often are trades within a range and how often and when do they do a range extension?

It comes down to evaluating price, volume, and time.

In using Interactive Brokers Trader Workstation interface, in particular with the BookTrader interface (otherwise known as the ladder interface), one can see the latest price, bid, and ask. When subscribed to Level II, the content of the Limit Order Book is also available. By clicking on the bid or ask column at a price level, one can quickly place Limit Order bids and asks in order to bracket price movement. As price moves, the Profit/Loss of the cumulative position is updated in another column. In addition, a tick histogram is available for determining popular price levels. I find the book trader easier to work with rather than the traditional side by side bid/ask Limit Order book.

About the time I found out how that works, and how effective it is for active trading, I came across a few threads in Elite Trader which discussed this as a 'Non Linear Trading' method. One contributor explained how he used two accounts to work both sides (the buy side and the sell side) of the market at once.

Since IB isn't/wasn't all that much into customer service or special requests, I scouted elsewhere for a broker who would be willing to set something like this up. Genesis Trading turned out to be easy to work with in this regard. They were able to set me up with two trading accounts that draw off the same fund account. The only drawback with them is that they are mostly equities, they don't do the miniDow (YM), which I've been paying attention to in one fashion or another recently.

As Genesis doesn't seem to offer the equivalent of IB's BookTrader for monitoring Price - Volume - Time, I did a quick prototype in SmartQuant's QuantDeveloper. Unfortuneately, Genesis' API is somewhat lean when tied to a .NET framework. Gensis, instead, has a robust C++ framework. And since I found the .NET libraries a bit slow, I'm currently involved in rewriting my prototype in Microsoft VC++ 2007. It 'feels' faster, and 'closer to the metal'. C# is good for building systems quickly, but one loses the feeling of 'getting dirty' when working with it.

During trial runs on the C# version, I found I was getting caught up in following the tick rather than keeping track of the big picture in order to bracket trade ranges and follow range extensions. I found I needed to see the 'forest for the trees'.

My Peak Detection module was supposed to help with that, but not as much as I hoped. I came across a technique known as the Market Profile. The Market Profile breaks a day into 30 minute slices. The trading range in each time slice is marked with a letter of the alphabet and then 'draped' over the predecessor time frames. This allows one to find where most of the market action is occuring. By bracketing the 70% range, it should be possible to pick up a bunch of good trades with relatively little effort.

There are two recent books, both by Dalton/Jones/Dalton. The older one is "Mind over Markets" and should be viewed first, as it introduces the concept. The newer, recently released one is "Markets in Profile", which builds further on the theory. My plan is build and process Market Profiles in real time so as to maintain a 'big picture' view of the trading day.

There are also significant online resources for Market Profile. Much of the initial research was performed by J. Peter Steidlmayer while at the Chicago Board of Trade. The CBOT has a good Market Profile resource area including a free downloadable handbook in the educational resources area. Cisco Futures has a tutorial on Value Based Power Trading, which shares some of the material from the CBOT manual. The tutorial can also be downloaded as a .pdf. They have more links at Value Based Trading Research page.

In one of these references, I came across a remark to the effect that people were having a problem with using the Market Profile for building multiple day strategies. Given that market research indicates that any day is a 50%/50% chance of going up or down, I can see why people would have this problem. I think this is another reason to not try holding multi-day positions. Each day should be treated separately. This becomes readily apparent when doing end of day recaps, and realizing that each day moved due to some different market stimulous.

At the CBOT site, there are two good introductory articles by Jack Broz: Trade by the Book - A Guide to Reading Order Flow and Reading Order Flow. The first uses the Limit Book side by side format, while the second shows the ladder format.

The ladder format is used by many trader applications, Ninja Trader and Button Trader are ones that come to mind immediately. However, by the look of them, they don't appear to handle two simultaneous trading accounts. Hence, my motivation for coming up with my own application.

Which brings me to the present. My trading software is almost tradable, as in I'll be able to place and cancel Bid/Ask limit orders in a ladder format quite soon. There is a bunch of supporting infrastructure to implement, but the hard bit has mostly been accomplished. I hope to provide a screen capture of it in operation soon.

The goal of TradeFrame, the name I've given the software, is to provide good perspectives on price - volume - time. At each price level, accumulated volumes and ticks are presented. It is able to provide limit order book depth. And through auxilliary charts, it will provide market statistics such as tick and trin.

Then, as time goes by, I hope to try adding in semi-automation. The ultimate goal will be to fully automate the process, but can only be done once I've got a good handle on the manual process.

[/Trading/AutomatedTrading] permanent link


2007 Aug 04 - Sat

Trading Site of the Day -- Futures & Options Trader: A Magazine for Free

Who says the best things in life aren't free. I'd rank the monthly Futures & Options Trader magazine as good bang for the buck. By signing up, you get a monthly email with a link to download a pdf file full of the type of content you'd see in regular glossy magazine. For free.

This month's issue is 52 pages in length and has articles relating to the Gold market intra day performance, Lumber futures as they relate to weather, Put-Call parity analysis, Bull Call ladders, technical analysis with the Price Movement Index, plus a number of additional articles and regular features.

[/Trading/SiteOfTheDay/D200708] permanent link


Open Source Site of the Day -- Xen: OS Virtualization

VMWare is probably the pre-eminent hypervisor. Microsoft is trying to catch up with their VM. At one point, you couldnt' get Linux based guests to run (something that has now changed due to popular demand).

On the Open Source front, Xen appears to be doing well. And through contributions from both Intel and AMD, unmodified guest operating systems such as MS Windows can be run within a Xen environment. (Intel VT or AMD-V microprocessor capabilities required).

From an installation point of view, .bootstrap has an article Installing Xen on Debian Etch 4.0. Russell Coker has a couple of how-to's on installing Xen, to which I'll just reference through his Popular Posts page.

[/OpenSource/SiteOfTheDay/D200708] permanent link


Open Source Site of the Day -- PowerTOP: Saving Power with Linux on Intel Platforms

Intel spent some time analyzing the causes of power usage of Linux applications on laptops. To help users maximize laptop battery life, Intel came up with a helpful utility called PowerTOP.

Based upon what I've read, certain USB components and products are the worst contributors to bad battery life. Slashdot readers have various and sundry things to say about battery performance in general. Matthew has things to say about it in particular, especially about USB stuff not conforming to published specifications.

[/OpenSource/SiteOfTheDay/D200708] permanent link


2007 Aug 03 - Fri

Personal Co-location Registry

Paul Vixie hosts a Personal Co-location Registry. If you have a personal 1U server running, say, a trading program or some such, then looking for place for it could be as easy as looking at the site.

For trading action, where you're not trading quite enough to colo right in a market data source or broker, then setting up somewhere close to the action might be sufficient. I ended up working for a week near Wall Street last month and was walking down Broadway and passed by what is known as the Cunard Line Building, just up from the photogenic New York / Wall Street Bull. I didn't realize the significance at the time, but later found out that Telehouse operates a hosting facility on one of the floors of the building. Look for companies with rack space there if you want to get geographically real close to the action.

[/Trading/AutomatedTrading] permanent link


EDDY: End-to-end Diagnostic DiscoverY

Carnegie Mellon has a development project called EDDY which is touted for "... allowing information about the operation of disparate components in the computing infrastructure to be brought together for analysis, research, and audit. This enables a system manager to more easily pinpoint problems as they occur, allows autonomic processes to assist in prediction, management, and maintenance."

In reading through the notes, it has modules for handling SNMP, Syslog, and event logs at the minimum. There is mention of many other modules as well.

[/OpenSource] permanent link


Trading Site of the Day -- Currency Trading: Under-hyped, for once

This is site is 'different'. I can't put my finger on it. I'm sure it has corporate backing of some sort, but that could be and probably is totally irrelevant. The definite good thing about CurrencyTrading.net is that it has a good intro reference library to currency trading. It discusses such things as the fundamental pip, how to spot forex scams, and how to choose a broker and open an account. The site is a quick read.

The caveat is that choosing a successful trading strategy is up to the reader, which when doing currency, equities, options, derivatives, or whatever, is the hard part.

[/Trading/SiteOfTheDay/D200708] permanent link


Am I Smarter Than I Really Am?

That cuts two ways according to a paper published in 1999 by Justin Kruger and David Dunning of Cornell University. In Unskilled and Unware of It: How Difficulties in Recognizing One's Own Incompetence Lead to Inflated Self-Assessments, they say that incompetent people rank themselves as more competent than they really are, and that competent people rank themselves as less then they really are.

Incompetent people may stay that way due to the fact that we've been trained to "don't say anything if you don't have something nice to say".

I havn't taken the training myself, but supposedly the Arbinger Institute's 'Thinking Outside the Box' training is supposed to promote the ability for people who work together to mutually lift themselves out of this mental block through their own bootstraps.

I'm unable draw a direct link between that and this, but it comes to mind: once interstellar space travel becomes available, and should the top 1% of the population, intellectually wise, decide to emigrate, that would theoretically drop the average intelligence level of the population by more than 1%. Could be a scary thought. Does anyone have references to this real or imagined statistic?

Anyway, coming back to the article, or rather the end of the article. The authors provide a very well done ironic summary of their paper (are their results to be believed?):

In sum, we present this article as an exploration into why people tend to hold overly optimistic and miscalibrated views about themselves. We propose that those with limited knowledge in a domain suffer a dual burden: Not only do they reach mistaken conclusions and make regrettable errors, but their incompetence robs them of the ability to realize it. Although we feel we have done a competent job in making a strong case for this analysis, studying it empirically, and drawing out relevant implications, our thesis leaves us with one haunting worry that we cannot vanquish. That worry is that this article may contain faulty logic, methodological errors, or poor communication. Let us assure our readers that to the extent this article is imperfect, it is not a sin we have committed knowingly.

[/Personal] permanent link


2007 Aug 02 - Thu

botHunter

On today's NANOG list, Marc Sachs of SRI made the following announcement regarding a BotHunter pacakge:

SRI and Georgia Tech have been working on a pretty cool new tool that will quickly locate bot traffic inside a network. A government/military version of this software has been in use successfully for about a month, and a public version was made available this week. BotHunter introduces a new kind of passive network perimeter monitoring scheme, designed to recognize the intrusion and coordination dialog that occurs during a successful malware infection. It employs a novel dialog-based correlation engine (patent pending), which recognizes the communication patterns of malware-infected computers within your network perimeter. BotHunter is available for download at http://www.cyber-ta.org/BotHunter/ and runs under Linux Fedora, SuSE, and Debian distributions.

There is also a highly interactive honeynet using BotHunter run by SRI you should look at. The URL is http://www.cyber-ta.org/releases/malware-analysis/public/. We are detecting dozens of new infections each day and this site is very helpful in understanding the behavior of the received malware. Also, it generates a nice list of potentially evil IP addresses and DNS queries.

For both the BotHunter software and the honeynet we'd appreciate any feedback on ways to improve them. Contact details are in the download package and on the website.

[/OpenSource] permanent link


2007 Jul 31 - Tue

Trading Site of the Day -- MoneyScience

MoneyScience, according to the footer on the website, is 'an open access resource for academics and practitioners working in quantitative finance and related fields'.

I should have listed this site earlier as I've used it to get introduced to sites I've already added to my Trading Site of the Day lists. It appears to be supported through private funding from a number of well known financial institutions.

The site has a number of primary groupings: Events calendar, Recruitment, Recently Posted (blog articles from other sites), Products and Services, Latest Sites (links to articles, .pdf's, and such), and has a forum.

The site format has improved over the time the owner has had it up, but could use a few more spruce-ups: the primary RSS feed title could point back to the main site, rather than the aggregator's site. I'm also wondering if things are slowing down as the Featured Event is one from last month.

Anyway, overall, the site as it gets updated, is a good link for quant minded individuals looking for a hopping off point to related research.

[/Trading/SiteOfTheDay/D200707] permanent link


2007 Jul 29 - Sun

Internet Based 911

For those of you setting up IP based telephone solutions and are needing to set up E911 connections, there are a number of ways to do this.

The typical way to do this is to ensure that analog or digital lines are available at each location being serviced. Then be sure to route all calls originating from those specific geographical areas are sent out the nearest POTS (Plain Old Telephone Service) line, ie, analog or digital line.

If this isn't possible, for one reason or another, there is an alternate way of doing this. There are internet based E911 services available. According to Robert Kulagows, you "setup something like a SIP trunk and route e911 calls to them. You'd tell them which DIDs are located in which city, and allow them to handle the 911 call and send it to the correct PSAP."

One provider who can do this is 9-1-1 Enable. According to their site, they are in the Pulver 100 and the Internet Telephony 2006 Product of the Year.

[/Cisco/Callmanager] permanent link


2007 Jul 28 - Sat

Manipulating Perceptual Focus in Advertisments

At Science Daily is an article about how to arrange advertised items so as to make the targeted item stand out:

In a new study from the August issue of the Journal of Consumer Research, researchers from Northwestern University demonstrate how advertisements can be manipulated to cause overemphasis of a particular feature and increase the likelihood that a certain product is chosen. Their finding runs contrary to economic models, which assume that choices are based on stable preferences and should not be influenced by the inclusion of inferior options.

"By showing the impact of perceptual focus on consumer preferences, this research demonstrates that in addition to the many overt ways companies can draw attention to products, the visual arrangement of alternatives can also have a significant influence on their relative choice shares," explain Ryan Hamilton, Jiewen Hong, and Alexander Chernev.

In a series of fascinating experiments, the authors show how grouping together options with similar characteristics can emphasize dissimilar options and help them pop-out. For example, consider a comparison of two sofas, A and B. Sofa A has softer cushions; Sofa B is more durable. In a head-to-head comparison, sofa A is preferred by less than half of the survey participants -- 42.3 percent.

However, if sofas A and B are grouped with three other sofas, all of which have a low rating for cushion softness, then preference for sofa A jumps to 77.4 percent. One of these things is not like the others, and that apparently makes it more desirable -- a phenomenon the authors term "perceptual focus effect."

"The research presented in this article has practical implications for manufacturers and retailers in determining the size and composition of their product assortments," conclude the authors. "In particular, when designing product displays, in both print and electronic media, companies need to be aware of the potential impact of the visual characteristics of choice alternatives on consumer preferences."

The researchers also found that how consumers process information can influence how susceptible they are to perceptual focus effect. Those who rely on intuition are more likely to choose a perpetually focal option. In addition, having participants perform an analytical test before making a product choice drained logical reasoning resources and increased the likelihood that the person would choose the perpetually focal option.

Reference: Ryan Hamilton, Jiewen Hong, and Alexander Chernev. "Perceptual Focus Effects in Choice" Journal of Consumer Research: August 2007.

Note: This story has been adapted from a news release issued by University of Chicago.

[/Personal/Business] permanent link


Trading Site of the Day -- QCode

QCode is a bare bones site linking type site for:

  • Quant Jobs: appears to be live linked to appropriate references at other sites
  • Links to Recent Papers
  • Links to a few Quant and option related sites
  • There is a forum with some activity
  • Probably one of the most interesting is the links to various software libraries, hence the name of the site.

[/Trading/SiteOfTheDay/D200707] permanent link


2007 Jul 24 - Tue

Trading Site of the Day -- Two Journals of Note

These are of an academic nature:

[/Trading/SiteOfTheDay/D200707] permanent link


2007 Jul 17 - Tue

IQFeed Client v1.3 Release

It seams that the client needs to be revised with recent version of the SmartQuant libraries. This one is built with the July 10, 2007 release of libraries. This build may resolve a System.BadImageFormatException. I hope. Here is IQFeed v1.3.

[/Trading/SmartQuant/Articles] permanent link


IQFeed Client Release 1.2

This client set is released with DTN/IQFeed's latest client v4.2.1.4. This release of the IQFeed SmartQuant Provider v1.2 suppresses an exception when it finds an invalid time in the 18th field of level 1 data. It caused DC to crash and burn, or halt and freeze, as the case may be.

There is a report that it has an image exception when used with OpenQuant. I havn't run OpenQuant, so can't confirm. Please let me know of repeatable issues iwth OpenQuant.

[/Trading/SmartQuant/Articles] permanent link


2007 Jul 10 - Tue

SmartQuant QuantDeveloper & DataCenter Release

SmartQuant has released a revision to DataCenter and QuantDeveloper. DataCenter and QuantDeveloper are at the following revision levels:

DataCenter
Version 2.3.2 (10-Jul-2007) 

QuantDeveloper Enterprise Edition
Version 2.6.2 (10-Jul-2007) 

QuantDeveloper Source Code
Version 2.6.2 (10-Jul-2007)
* Recent Versions available through 
  version control 

[/Trading/SmartQuant/Releases] permanent link


2007 Jul 08 - Sun

TransactionSet Code

For what its worth, there was a request for my TransactionSet code at the SmartQuant Forums. This is my description of the code:

I don't really use the ClOrdId per-se for anything other than reporting an order number. Instead a I created a series of transaction objects, with each storing an opening market/limit order and a starting stop order. When I need to exit, the transaction object then takes care of closing out any stops/markets/limits that are still outstanding. I can then calculate profit/loss (which I could have used from already existing QD API elementes), but I go one step further and maintain other statistics such as time-to-fill, time-in-trade, ... More than anything, the transaction object has helped simplify/encapsulate the trading state-machine for tracking unfilled limits and stops. And it does it smoothly by making use of the two events I mentioned earlier. Then from a higher level perspective, on a market direction change, I can simply tell the transaction to 'exit' and it does what ever clean up is necessary

The code is located in the file TransactionSet.cs.

[/Trading/SmartQuant/Articles] permanent link


2007 Jun 29 - Fri

One Unified Address Management, v1.3

I've updated the schema of my prototype address management database to reflect some additional relationships with VRFs and VLANs.

The address management schema is for a PostgreSQL 8.1 database.

Once I have the address tables populated, I'll want to generate zone files for DNS to facilitate informative traceroutes. There were a couple of useful suggestions on the Nanog mailing lists, one by Mark Tinka, and the other one by Joe Abley, the same person who did a paper on toolmaking at Nanog 26.

[/OpenSource/Debian/AddressManagement] permanent link


2007 Jun 27 - Wed

Network Management Processes

In another exerpt from Cisco's book called Top-Down Network Design, Second Edition, there is a discussion regarding network mangement as being a part of network design. Very few companies, or many engineers for that matter, pay much attention to network management.

"Management is often overlooked during the design of a network because it is considered an operational issue rather than a design issue. However, by considering network management up front, instead of tacking it on at the end of the design process or after the network is already operational, designs will be more scalable and robust."

The The International Organization for Standardization (ISO) defines five types of network management processes (and some examples for each):

  • Performance management: Cricket
  • Fault management: Syslog, SNMP Traps
  • Configuration management: Rancid
  • Security management: Radius, Tacacs, Snort
  • Accounting management: Radius

[/OpenSource/Debian/Monitoring] permanent link


2007 Jun 25 - Mon

Cisco Device Health

In Cisco's book, Top Down Network Design, one useful show command is 'show buffers'. Some useful SNMP statistics include:

  • BusyPer. CPU busy percentage in the last 5-second period.
  • AvgBusy1. 1-minute exponentially decayed moving average of the CPU busy percentage.
  • AvgBusy5. 5-minute exponentially decayed moving average of the CPU busy percentage.
  • LocIfInputQueueDrops. The number of packets dropped because the input queue was full.
  • LocIfOutputQueueDrops. The number of packets dropped because the output queue was full.
  • LocIfInIgnored. The number of input packets ignored by the interface.
  • BufferElMiss. The number of buffer element misses. (You can also check misses for small, medium, big, large, and huge buffer pools.)
  • BufferFail. The number of buffer allocation failures.

I've been doing most of my snmp statistics gathering on 5 minutes intervals. On some interfaces, it may be of value to step that up to 1 minute intervals. Of course, if my total collection time is over 1 minute, I may have problems with that.

From the same book, is this interesting statistic about why Window's file transfers over WAN links can go only 'so fast'. SMB acts like a ping-pong protocol. It can only send up to 32KB before requiring an acknowledgement. So if the delay is 50 ms end to end, and ignoring client and server delays, a client can receive at most 32 KB every 100 milliseconds, or 320 KB per second. This means that the maximum throughput is 2.56 Mbps, at best.

[/Cisco] permanent link


2007 Jun 24 - Sun

Perl Tools

In an earlier article, I wrote about an IP Address Management database. To manage the data framework through the web, I'm thinking it might be well to use Catalyst Web Framework, a Perl based Model/View/Controller designed for data based web infrastructures. An Introductory Article introduces Catalyst use along with Ajax.

In another vein, there is an article on how to do Perl Scripts for Perl-Less People from Cygwin. It looks to be as simple as doing:

perlcc -o foo.exe foo.pl

and then running the result to find the dependent dlls.... then packaging the exe and dlls together and shipping them off to the poor soul who needed the solution in the first place.

[/OpenSource] permanent link


Cygwin Customizations

The default shell for Cygwin uses a DOS command shell, which has limited usefulness. To enhance the console experience, here are some customizations. To enhance the shell prompt, use the Cygwin installer to install 'rxvt'.

The icon that the Cygwin installer puts on your desktop has a link to a start up file. I've put the following into my startup file in order to start up rxvt as the default terminal. As you see, I've also installed 'nano' and set it as the default editor.

@echo off
C:
chdir C:\cygwin\bin
set EDITOR=nano
set VISUAL=nano
set CYGWIN=codepage:oem tty binmode title
rxvt -fg green -fn "Lucida Console-12" -geometry 80x50 -sl 1000 -sb -e bash --login -i

The installer may or may not place a few other relevant files in your home drive: .bash_profile, .bashrc, and .inputrc. These can be found in /etc/skel and should be copied to your home directory. They can then be edited to taste.

For copying text in the rxvt terminal window, simply highlight the text while holding the left mouse button. It will be automatically copied to the clipboard once the mouse button is released. To paste the text, hold the shift key while pressing the left mouse button. This is slightly different from putty, which does not require the shift key to be held. To select a range of words you can double click on the first word, then set the mouse cursor to the right of the last word or letter you want copied, and right-click.

Here is a Cygwin Prompt Here method.

Use cygwin to run crontab jobs.

The following can be added to .bashrc to pipe any command to less (so ls):

#A function to pipe any command to less:
function so {
eval "$@" |less -I~
}

A Cygwin FAQ has some useful comments regarding mkpasswd, Octave, enhanced Bash profiles, X, and csh.

[/OpenSource] permanent link


TACACS + Linux

Up till now, I thought that TACACS use was limited to authentication/authorization of logins and commands on Cisco devices. There is an article at Freemode.net regarding TACACS + Linux for authentication.

[/OpenSource/Linux] permanent link


Trading Site of the Day -- Blog on Blogs: The 24/7 Wall St. Twenty-Five Best Financial Blogs

A site called 24/7 Wall Street, which features "Insightful Analysis and Commentary for U.S. and Global Equity Investors", has an article called The 24/7 Wall St. Twenty-Five Best Financial Blogs. These are good starting off points for further research into the daily markets.

[/Trading/SiteOfTheDay/D200706] permanent link


Debian Sample Network Configuration

For my future reference.

######################################################################
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
# See the interfaces(5) manpage for information on what options are
# available.
######################################################################

# We always want the loopback interface.
#
auto lo
iface lo inet loopback

# To use dhcp:
#
# auto eth0
# iface eth0 inet dhcp

# An example static IP setup: (broadcast and gateway are optional)
#
# auto eth0
# iface eth0 inet static
#     address 192.168.0.42
#     network 192.168.0.0
#     netmask 255.255.255.0
#     broadcast 192.168.0.255
#     gateway 192.168.0.1

[/OpenSource/Debian] permanent link


Linux Backup Application: Mondo

Mondo, Mindo. To be expounded on shortly.

[/OpenSource] permanent link


Installing XWindows/KDE on Debian

For the initial installation of Debian, I simply do a 'standard' install. No desktop. I may also add database (which is PostgreSQL 8.1), dns, and web server (which is Apache 2.0).

After the reboot, I'll install some basic packages to get KDE running: apt-get install xserver-xorg-core apt-get install x-window-system apt-get install xserver-xfree86 apt-get install xserver-xorg apt-get install x-window-system-core apt-get install kde-core

Running the command 'startx &' will get XWindows going and the KDE personalizer started.

Putting 'startkde' in .xinitrc in my home directory sets the preference for kde. Other possible window managers include gnome, xfce4, icewm, fluxbox, fvwm (loosely ordered by decreasing order of preference).

[/OpenSource/Debian] permanent link


Debian Linux on a Mini-Box

I picked up a small form factor Mini-Box M200-LCD Barebone System. It is a nice small embedded systems unit with a backlit LCD and front panel buttons. I chose a unit with a 1GHz processor, 512MB of memory, and a 40GB harddrive. The unit does not have a floppy drive or a CDROM drive. It does come with ample USB slots. It also has a Compact Flash slot hidden behind a door on the front.

With a little bit of fiddling, I was able to Debian installed and running on the unit. Here is what I did to get it up and running.

The Compact Flash is configured as a Master device on the second IDE channel.

I chose to use a USB Key to boot strap the unit into network mode to get the full Debian distribution installed.

The USB key needs to be created on another Linux system, in this case I used a VMWare'd version on an XP box, . (WinImage was suggested to me, but I could never get it to work according to what little instruction I could find). In VMWare, I needed to associate the USB controller to the VMWare session. Windows saw the USB drive disappear as a result. When I inserted the USB Key into USB slot, the Linux console indicated the drive name to be used. In this case, it was /dev/sdc.

I downloaded the netinst iso image from the Debian package site. I also obtained the boot.img.gz boot image for the distribution. Pascal Le Bail has a web page called Installing Debian Sarge from a USB memory stick (USB key) where he explains the simple process. The instructions have been incorporated into the Debian Installation Manual.

Once the files are available, a short series of commands makes the key bootable:

zcat boot.img.gz >/dev/sdc1

gets the image onto the USB Key.

mount /dev/sdc1 /mnt
cp netinst.iso /mnt

gets the iso installed on to the key.

The USB key can then be plugged into a USB slot on the Mini-Box and the power turned on. In the bios, the secret is to:

  • set USB ZIP as the first boot device
  • in the USB settings, turn on USB legacy mode

The Mini-Box will boot in to the Debian installer and allow a network download/configuration of a Debian installation.

The interesting part of the Mini-Box is it's LCD/Button front panel. A sample program and SDK have been made available.

There is a demo program called usblcd available to show how things are done. The source and SDK can be downloaded and built.

Assuming Debian's build tools have not been installed, here are the build steps:

apt-get install autoconf
apt-get install gcc-4.1-base
apt-get install gcc-4.1
apt-get install gcc
apt-get install automake
apt-get install binutils
apt-get install binutils-dev
apt-get install libtool
apt-get install libusb-dev
apt-get install libhid-dev
 ./autogen.sh
make
make install

You can then use commands like:

usblcd backlight 1
usblcd backlight 0
usblcd backlight 1
usblcd led 2 1
usblcd led 2 0
usblcd clear

[/OpenSource/Debian] permanent link


2007 Jun 23 - Sat

Run Levels and Mode Switch Keys

Debian Admin has a some information regarding run levels (switching between single-user, console, and graphic modes). These are the basic run levels:

  • 0 System Halt
  • 1 Single user
  • 2 Full multi-user mode (Default)
  • 3-5 Same as 2
  • 6 System Reboot

The file /etc/inittab has a line in it:

id:2:initdefault:

Supposedly, if you change the 2 to a 3, on boot the system will come up with a console instead of the graphical interface (assuming the graphical interface has been installed).

The command runlevel will return two values, a run level change since powering up, and the current run level.

To change run levels, the command 'telinit x' will change to run level 'x'.

An Introduction to Run-Levels contains further detailed information.

[/OpenSource/Debian] permanent link


2007 Jun 12 - Tue

Trading Site of the Day -- CASTrader Blog: A Quest for 50%-plus Returns

The complete byline for CASTrader Blog is "A quest for 50%-plus returns in the financial markets via Complex Adaptive Systems and Quantitative Finance.".

High aspirations, but looks like he still maintains a day job. But I think there are useful tidbits scattered through the site.

The author of the site appears to be attempting the quant side of trading in the equity markets. Based upon my own evolutions, I'm thinking he may be getting too complicated. But them who am I to say. I'm still getting my own infrastructure together, based upon a simpler volatility trend/range trading idea, something that is going to take another week or two to code. And yep, I too, have a day job.

[/Trading/SiteOfTheDay/D200706] permanent link


2007 Jun 10 - Sun

Trading Site of the Day -- C++ Fast Delegates, plus Boost

No, C++ Fast Delegates aren't really trading algorithms, but they do help make trading algorithms fast.

In the C# world, the C# language has the built-in capacity to store multiple object/method pointers and call them in response to some sort of activity. This is generally referred to the Observer Pattern of event based programming. In C#, the structure is called a Delegate.

C++ does not provide a native Delegate structure. Don Clugston wrote an article called Member Function Pointers and the Fastest Possible C++ Delegates. I've used this method successfully with Microsoft Visual Studio 2005.

Don's implementation is unable to do multicast delegates. Sergey Ryazanov wrote an article called The Impossibly Fast C++ Delegates that supposedly is more C++ compliant and has a multicast capability.

JaeWook Choi took the work one step farther and implemented a multicast delegate that is a drop in replacement for the Boost C++ Libraries. Boost is a collection of free peer-reviewd portable C++ source libraries. JaeWook's library is faster than Boost, but slower than Don's library. But JaeWook's library is mulitcast and does offer up additional functionality. Timings and feature sets can be reviewed in his article called Fast C++ Delegate: Boost.Function 'drop-in' replacement and multicast.

[/Trading/SiteOfTheDay/D200706] permanent link


2007 Jun 09 - Sat

Memory Leak Detection in Visual Studio 2005 C++ Applications

In some recent software development, when working with C++ in Visual Studio 2005, when ending a program which was run in the debugger, I'll sometimes get statements regarding memory leaks.

Each memory leak has a unique number associated with it. If these leaks and their numbers are repeatable, they can be tracked in Visual Studio by using the '_CrtSetBreakAlloc' call in your code.

In your code, near the beginning of execution, place the call, using the leak number as a parameter. This effectively creates a break point on the specific memory allocation call. When your code allocates the memory allocation, the break point will allow you to inspect the code and figure out why an appropriate dispose was not provided.

[/Personal/SoftwareDevelopment] permanent link


2007 Jun 06 - Wed

Writing Callmanager Call Detail Records to Excel Spreadsheet

In an earlier article, I described how to access the Cisco Callmanager CDR tables to obtain billing records through the use of the Sybase DBI drivers for Perl. The database needs to be placed into "mixed mode" for this type of thing to work.

I've created two perl modules to make use of this technique: cdr2file.pm and billing2file.pm.

cdr2file.pm takes as input three parameters: an extension, a starting date, and an ending date. It creates an Excel spreadsheet using a temporary file name, which allows multiple requests to be processed simultaneously. The spreadsheet contains four worksheets: a list of inbound calls, a list of local calls, a list of long distance calls, and a list of internationally placed calls. The selection is based upon four digit extensions and the North American Dialling plan. The duration of each call is included. Because both the 'Original Called' and the 'Final Called' fields are included, one can determine which calls ended up going to voicemail or transferred elsewhere.

The other module, billing2file.pm, takes as input a starting date and an ending date. For all outbound calls placed within that date range, a summary spreadsheet is created. The first worksheet contains a summary of call duration by user with the following fields: Extension Number, Name of the Phone, Total Duration in Seconds, Total Duration in Minutes. Each line contains a hyper link to a worksheet containing the actuall call details for that extension. On the detail worksheet for each user, the following details are provided: Date the call was placed, extension number originating the call, the original called number, the duration in seconds for the call, the phone identifier, and the phone description. This spreadsheet makes it convenient to produce monthly billing reports by user. For large companies, this may not be suitable as a spreadsheet may not be able to handle enough rows or worksheets (a limitation of Excel).

By creating suitable web pages, say through mod_perl or mason, members of the accounting department have direct, easy, live access to the Callmanager Call Detail Records in a ready to use format.

[/Cisco/Callmanager] permanent link


2007 Jun 05 - Tue

Sliding Window Statistics

Processing bars can lag data somewhat. Bars can also introduce sharp changes in statistics. Instead, I prefer to work with Trades and Quotes directly. But I still need the ability to work with summary statistics.

I've created an O(1) running time mechanism for processing trades and quotes in real time. The resulting code is provided in Accumulation.cs. The basic class I use is SimpleAccumulationStatsOnQuotes. The class is instantiated as an object by defining the window width in seconds. The class will maintain a list of quotes. As quotes are added, they are added to the summary statistics. As quotes fall outside the window, the quotes are removed from the summary statistics.

The summary statistics provide the basics for maintaining Bollinger Bands for the selected moving window time frame.

The class AccumulateQuotes is a brute force approach to calculating slope change velocities and acceleration. I think, with suitable modification of the basic statistics, this class would not be needed.

Running statistics are maintained through a reference to the RunningStats class.

If you wish to know the Minimum/Maximum levels over an interval, a RunningMinMax class helps. It is more of a manual process, with the AddPoint and RemovePoint methods.

[/Trading/SmartQuant/Articles] permanent link


2007 Jun 02 - Sat

Tag Line, Found on GrokLaw

Simulation engineers do it with models virtually every day!

[/Personal/TagLines] permanent link


2007 May 31 - Thu

Setting Up and Working With a Remote Subversion Repository

I maintain a number of different servers, and work on a number of different projects. I'd like to put all of these things under some sort of version control. I chose Subversion as it has a good command line environment, has much access flexibility, and will work with Windows and Linux based files. I also wanted to secure the respository on a remote computer. At some time in the future, I may allow limited public access to portions of the repository. For now, I want to restrict access via ssh only. Also, at some later time, I may experiment with WebDav and such (which, if I read this stuff correctly, provides Subversion repository access through Windows Explorer).

Installing the software on Debian for a Subversion Repository is easy:

apt-get install subversion

To create a base repository directory for a number of servers would use a command like:

adduser svn
mkdir /home/svn
su - svn
mkdir -p /var/local/svn/servers

This adds a user named svn, and then uses that user account to create the Subversion directory and respository. This is needed so that appropriate file permissions are maintained for remote access users. I'll describe a technique of access where no additional user accounts are needed for the server in which the repository resides.

To create a repository for the various directories and files for server server01 (still using user svn):

svnadmin create /var/local/svn/servers/server01

Configuring everything for remote use is a more complicated scenario and uses a bunch of concepts I wrote about in my ssh article.

On the server to be put under version control, which, for this example, is server01, create a private/public key with:

ssh-keygen -t rsa -b 2048
mv ~/.ssh/id_rsa.pub ~/.ssh/server01.pub

On the repository computer, with the account svn, ssh to a computer somewhere in order to create the .ssh directory (if it hasn't already been created). Use SCP or a similar capability to get server01's ~/.ssh/server01.pub file into the /home/svn/.ssh directory of the repository computer. Append the file to authorized_keys:

cat server01.pub >> ~/.ssh/authorized_keys

Now edit the authorized_keys and insert the following in front of the line of the key that was just inserted:

command="/usr/bin/svnserve -t --tunnel-user=user1 \
-r /var/local/svn/servers/server01/"\
,no-port-forwarding,no-agent-forwarding,no-X11-forwarding,no-pty

You'll need to take out the line-ending slashes and put everything on one line, ssh doesn't appear to like line continuations in the authorized_keys file. You should have a format like:

command="stuff",sshsettings ssh-rsa onelongkey admin@server01

The '-t' in the command tells svnserve that commands are coming in from an ssh tunnel. The --tunnel-user parameter gives Subversion a username with which it may tag repository changes. The name has nothing to do with any authentication or authorization. As such, it should be changed to reflect an appropriately descriptive name for each public key in the authorized_keys file. The '-r' command provides a 'root' location for the Subversion client to use for new projects and directories. The remaining commands tell ssh to enhance the security of the connection by disabling certain ssh forwarding capabilities.

Back on server01, start up a new Bash session with:

ssh-agent sh -c 'ssh-add < /dev/null && bash'

This loads your private key for automated use in subsequent Subversion interactions.

Now to maintain version history of seleected files in server01's /etc directory:

svn mkdir svn+ssh://svn@svn.example.com/server01/etc
cd /etc
svn co svn+ssh://svn@svn.example.com/server01/etc .
svn status
svn add hosts -m "added hosts to repository"
svn commit

The first line creates an empty directory in the repository. After changing into the /etc directory, the svn diretory is then checked out. By doing a status, you'll see all the files have a '?', as unknown. Files can then be added and committed as needed.

The inspiration for the 'mkdir' command came from the second example in the TLUG Wiki HowTo. The Wiki does make a valid point about not maintaining permissions by default, and does offer up a script that saves these as Subversion properties.

As a side note, for the string 'svn+ssh://svn@svn.example.com/...', when running TortoiseSVN, the svn.example.com can be the name of a saved profile from the Windows based SSH program called Putty.

[/OpenSource/Debian] permanent link


2007 May 30 - Wed

SmartQuant QuantDeveloper & DataCenter Release

SmartQuant has released a revision to DataCenter and QuantDeveloper. DataCenter and QuantDeveloper are at the following revision levels:

DataCenter
Version 2.3.1 (30-May-2007) 

QuantDeveloper Enterprise Edition
Version 2.6.1 (30-May-2007) 

QuantDeveloper Source Code
Version 2.5.1 (23-Mar-2007) 
* Recent Versions available through 
  version control 

[/Trading/SmartQuant/Releases] permanent link


2007 May 29 - Tue

Cricket: Combining Three Graphs Into One

In 2007/05/29's Cricket-User mailing list, there was a useful configuration file snippet for charting and summing selected sources:

target Net
	mtargets ="/Ethernet_To_Building/NSW/52GDC76F02/vlan231;
	/Ethernet_To_Building/ACT/12NOC76FF/vlan201;
		/Ethernet_To_Building/QLD/14VRC76F06/vlan439;
		/Ethernet_To_Building/VIC/O3MLC76F05/vlan436;
		/Ethernet_To_Building/SA/55DRC76FG/vlan467;
		/Ethernet_To_Building/WA/O6SSC76FE/vlan469;"
	mtargets-ops = "sum()"
	short-desc = "desc"
	filename = " Net Aggregate"
	combinationgraph = 1
	unknown-is-zero = true
	order = 899

Courtesy of Naveen Baldeo.

[/OpenSource/Debian/Monitoring/Cricket] permanent link


2007 May 28 - Mon

Opportunities for High Frequency Traders

Here is an article entitled Opportunities for High Frequency Traders: Intraday Patterns in Price Volatility and Liquidity of SFE Contracts by Professor Alex Frino and Grant Wearin of the University of Sydney, Australia in association with the Sydney Futures Exchange.

I've recently put together some scanning software to look for symbols with high daily volatility. This easy to read paper, confirms what I've found out about daily patterns of volatility. In addition, it adds to my knowledge regarding bid/ask spreads in relationship to depth analysis. The paper also discusses the Predictability of Price Movements of SFE Contracts in relationship to the time of day where it might be easier to predict.

An Power Point Presentation by Robert Engle entitled Predicting Returns and Volatilities with Ultra-High Frequency Data offers up some additional confirming evidence of how the markets work when traders are 'in the know'. Here are a few interesting highlights:

  • The price impacts, the spreads, the speed of quote revisions, and the volatility all respond to information variables
  • Transition is faster when there is information arriving, where an econometric measure of information includes high shares per trade, shor duration between trades, and sustained wide spreads
  • Both the realized and the expected duration impact the distribution of the price changes for the data studied
  • Transaction rates tend to be lower when the price are falling
  • Transaction rates tend to be higher when volatility is higher
  • Simulations suggest that the long run price impact of a trade can be very sensitive to the volume but is less sensitive to the spread and the transaction rates

Mark Hooker at Advanced Research Center has an article called Microstructure-Based Predictors. The end of the article has a nice wrap-up:

There is ... a ... benefit from efficient volatility forecasting. It turns out that a good volatility forecast can help us to forecast periods of trending and mean-reversion (or non-trending) in currency returns. For the technical component of our currency management strategy, such forecasts are very valuable since they can provide an early warning of when trending periods are likely to end and therefore allow time to close positions and book profits before the market turns around.

A Google search term for "high frequency volatility trading" works quite well.

[/Trading/AutomatedTrading] permanent link


2007 May 27 - Sun

Trading Site of the Day -- Peter Hoadley's Option Pricing Models and the "Greeks"

Many discussions regarding volatility and options tend to lean towards non-tradable academic talk. Peter Hoadley's page on Option Pricing Models and the "Greeks" has more tradable bent to it. The article starts off by discussing the basic options formula. Further into the article, he discusses how the formula can be used to further trading strategies.

[/Trading/SiteOfTheDay/D200705] permanent link


2007 May 26 - Sat

SSH Server to Server Connections

I wrote an earlier article on how to make it easy to connect to Linux servers with ssh and to copy files.

I need to start doing more version control of my projects. In the past, I used CVS. I'm now converting over to Subversion. I wanted to be able to securely connect to my Subversion servers for updates. Subversion ties nicely into SSH to provide this capability. In order to streamline this connectivity, I need to stream line my ssh connectivity. This article records what I learned about SSH to facilitate this. It has a focus on Linux and Cygwin based operations.

The first step is to run

ssh-keygen -t rsa

This creates a 2048 bit RSA key useful for signing and for encryption. The public key is placed in ~/.ssh/id_rsa.pub with the private key in a file called ~/.ssh/id_rsa. The private key should be protected with a suitably complicated pass phrase. A private key can be created without a passphrase, but security experts frown upon this option, but it does have it's advantages.

It is helpful to rename the public key file to a name that reflects your username and/or current computer. This key can then be copied to other machines and appended to a corresponding ~/.ssh/authorized_keys file. To append the key, you can use

cat id_rsa.pub >> ~/.ssh/authorized_keys

In the authorized_keys file on the destination host, you can prefix a key with a command in order to prevent actions or to automate certain actions. Here are some example ssh key commands.

You can then ssh to the destination host. Upon connection, you'll be asked for your passphrase in order to open the local private key file.

Instead of having to provide the passphrase each time you open a new ssh connection, you can use the ssh-agent program. Here is an example way to start it: 'ssh-agent bash'. The application becomes memory resident and starts a new shell with a couple of needed ssh environment variables. The application 'ssh-add' is used to add your private key to ssh-agent. Use 'ssh-add -l' to check which keys have been added. When you exit the shell, ssh-agent exits also, and closes out the use of the private keys. A quick one-liner to start the agent and add the key (add an alias for this to your ~/.bashrc file):

ssh-agent sh -c 'ssh-add < /dev/null && bash' 

Some authors recommend changing the PermitRootLogin in /etc/ssh/sshd_config to 'no' in order to prevent root logins. To prevent dictionary attacks, I like to set PasswordAuthentication to 'no'. For X11 sessions, X11Forwarding will need to be set to 'yes'.

I found an article that was useful for explaining the difference between RSA and DSA. ssh-keygen typically defaults to RSA, which is a good thing. Security Focus has additional background on SSH Host Key Protection. Secure Shell: Part 1 is more of what I wrote about, but from a Solaris perspective.

[/OpenSource] permanent link


2007 May 25 - Fri

Phishers can use social Web sites as bait to net victims: Informatics study Indiana University (05/24/07)

Personally, I've been able to identify phishing emails as they arrive, and promptly delete them. Indeed, some are quite tempting and realistic, but if one looks at the links closely, the imposters can be separated from the real thing.

If there is ever any confusion, I'll go the source directly, bypassing the link, and type in the correct link directly.

An ACM Newsletter speaks of a study that show that separating the wheat from the chaffe is becoming more difficult. Here is what they say:

Popular social network sites such as Facebook and MySpace are being used by cybercriminals to gather personal information to create targeted phishing attacks, according to Indiana University School of Informatics researchers. In their study, "Social Phishing," the researchers established a baseline for the success rate of traditional and social network-based phishing attacks. Phishers steal personal information by sending authentic looking requests, either by email or instant messaging, asking someone to click on a link and submit their information on what looks like a legitimate Web site. "Phishing has become such a prevalent problem because of its huge profit margins, ease in launching an attack, and the difficulty of identifying and prosecuting those who do it," says associate professor of informatics and computer science Filippo Menczer. "Our study clearly shows that social networks can provide phishers with a wealth of information about unsuspecting victims." The study sent email messages to two groups of students asking them to enter their university ID and password. One group received an email from what they thought was a friend, while the other group received an email from a stranger. Only 16 percent of students who received an email from a stranger entered their information, while 72 percent of those receiving emails from "friends" gave away their information. Associate professor of informatics and member of the research team Markus Jakobsson says they were astonished by the 72 percent response rate. The researchers suggested some countermeasures to prevent phishing, including digital signatures on emails to verify the source, browser toolbars that alert users to spoofing attempts, spam filters that detect spoofed emails, and providing users with a secure path to enter passwords, alerting users that they are trying to authenticate to an unknown site. The study is scheduled to be published in the October 2007 issue of Communications of the ACM.

The full article can be found at the Indiana University.

[/Personal/Technology] permanent link


Color Name Enumeration for C++

I was looking to use named colors in Microsoft's Visual Studio C++, but couldn't find any enumerations anywhere. I found a Wiki Entry which listed Web Colors, aka X1 Color Names. In taking a look at the source code for the web page, I noticed that the tables were produced in a nice, computer readable format.

I ended up cutting and pasting the code into an editor and cut out all the extraneous stuff and was left with a regular list I could process with a short Perl script:

#!/usr/bin/perl

use strict;

my $line;
my ( $enum, $val );
print( "enum EColor {\n" );
while ($line = <STDIN>) {
  $line = <STDIN>;
  chomp( $line );
  $line =~ /^<td>(.+)<\/td>$/;
  $enum = $1;
  $line = <STDIN>;
  chomp( $line );
  $line =~ /^<td>(\w{2}) (\w{2}) (\w{2})<\/td>$/;
  $val = "RGB(0x" . $1 . ",0x" . $2 . ",0x" . $3 . ")";
  $line = <STDIN>;
  $line = <STDIN>;
  print( "  $enum = $val,\n" );
}
print( "}\n" );

This code produce the following C++ enumeration. If you run the above script, you'll find that one of the colors was duplicated. Simply remove the redundant copy to fix the compile error.

enum EColor {
  IndianRed = RGB(0xCD,0x5C,0x5C),
  LightCoral = RGB(0xF0,0x80,0x80),
  Salmon = RGB(0xFA,0x80,0x72),
  DarkSalmon = RGB(0xE9,0x96,0x7A),
  LightSalmon = RGB(0xFF,0xA0,0x7A),
  Crimson = RGB(0xDC,0x14,0x3C),
  Red = RGB(0xFF,0x00,0x00),
  FireBrick = RGB(0xB2,0x22,0x22),
  DarkRed = RGB(0x8B,0x00,0x00),
  Pink = RGB(0xFF,0xC0,0xCB),
  LightPink = RGB(0xFF,0xB6,0xC1),
  HotPink = RGB(0xFF,0x69,0xB4),
  DeepPink = RGB(0xFF,0x14,0x93),
  MediumVioletRed = RGB(0xC7,0x15,0x85),
  PaleVioletRed = RGB(0xDB,0x70,0x93),
  Coral = RGB(0xFF,0x7F,0x50),
  Tomato = RGB(0xFF,0x63,0x47),
  OrangeRed = RGB(0xFF,0x45,0x00),
  DarkOrange = RGB(0xFF,0x8C,0x00),
  Orange = RGB(0xFF,0xA5,0x00),
  Gold = RGB(0xFF,0xD7,0x00),
  Yellow = RGB(0xFF,0xFF,0x00),
  LightYellow = RGB(0xFF,0xFF,0xE0),
  LemonChiffon = RGB(0xFF,0xFA,0xCD),
  LightGoldenrodYellow = RGB(0xFA,0xFA,0xD2),
  PapayaWhip = RGB(0xFF,0xEF,0xD5),
  Moccasin = RGB(0xFF,0xE4,0xB5),
  PeachPuff = RGB(0xFF,0xDA,0xB9),
  PaleGoldenrod = RGB(0xEE,0xE8,0xAA),
  Khaki = RGB(0xF0,0xE6,0x8C),
  DarkKhaki = RGB(0xBD,0xB7,0x6B),
  Lavender = RGB(0xE6,0xE6,0xFA),
  Thistle = RGB(0xD8,0xBF,0xD8),
  Plum = RGB(0xDD,0xA0,0xDD),
  Violet = RGB(0xEE,0x82,0xEE),
  Orchid = RGB(0xDA,0x70,0xD6),
  Fuchsia = RGB(0xFF,0x00,0xFF),
  Magenta = RGB(0xFF,0x00,0xFF),
  MediumOrchid = RGB(0xBA,0x55,0xD3),
  MediumPurple = RGB(0x93,0x70,0xDB),
  BlueViolet = RGB(0x8A,0x2B,0xE2),
  DarkViolet = RGB(0x94,0x00,0xD3),
  DarkOrchid = RGB(0x99,0x32,0xCC),
  DarkMagenta = RGB(0x8B,0x00,0x8B),
  Purple = RGB(0x80,0x00,0x80),
  Indigo = RGB(0x4B,0x00,0x82),
  SlateBlue = RGB(0x6A,0x5A,0xCD),
  DarkSlateBlue = RGB(0x48,0x3D,0x8B),
  GreenYellow = RGB(0xAD,0xFF,0x2F),
  Chartreuse = RGB(0x7F,0xFF,0x00),
  LawnGreen = RGB(0x7C,0xFC,0x00),
  Lime = RGB(0x00,0xFF,0x00),
  LimeGreen = RGB(0x32,0xCD,0x32),
  PaleGreen = RGB(0x98,0xFB,0x98),
  LightGreen = RGB(0x90,0xEE,0x90),
  MediumSpringGreen = RGB(0x00,0xFA,0x9A),
  SpringGreen = RGB(0x00,0xFF,0x7F),
  MediumSeaGreen = RGB(0x3C,0xB3,0x71),
  SeaGreen = RGB(0x2E,0x8B,0x57),
  ForestGreen = RGB(0x22,0x8B,0x22),
  Green = RGB(0x00,0x80,0x00),
  DarkGreen = RGB(0x00,0x64,0x00),
  YellowGreen = RGB(0x9A,0xCD,0x32),
  OliveDrab = RGB(0x6B,0x8E,0x23),
  Olive = RGB(0x80,0x80,0x00),
  DarkOliveGreen = RGB(0x55,0x6B,0x2F),
  MediumAquamarine = RGB(0x66,0xCD,0xAA),
  DarkSeaGreen = RGB(0x8F,0xBC,0x8F),
  LightSeaGreen = RGB(0x20,0xB2,0xAA),
  DarkCyan = RGB(0x00,0x8B,0x8B),
  Teal = RGB(0x00,0x80,0x80),
  Aqua = RGB(0x00,0xFF,0xFF),
  Cyan = RGB(0x00,0xFF,0xFF),
  LightCyan = RGB(0xE0,0xFF,0xFF),
  PaleTurquoise = RGB(0xAF,0xEE,0xEE),
  Aquamarine = RGB(0x7F,0xFF,0xD4),
  Turquoise = RGB(0x40,0xE0,0xD0),
  MediumTurquoise = RGB(0x48,0xD1,0xCC),
  DarkTurquoise = RGB(0x00,0xCE,0xD1),
  CadetBlue = RGB(0x5F,0x9E,0xA0),
  SteelBlue = RGB(0x46,0x82,0xB4),
  LightSteelBlue = RGB(0xB0,0xC4,0xDE),
  PowderBlue = RGB(0xB0,0xE0,0xE6),
  LightBlue = RGB(0xAD,0xD8,0xE6),
  SkyBlue = RGB(0x87,0xCE,0xEB),
  LightSkyBlue = RGB(0x87,0xCE,0xFA),
  DeepSkyBlue = RGB(0x00,0xBF,0xFF),
  DodgerBlue = RGB(0x1E,0x90,0xFF),
  CornflowerBlue = RGB(0x64,0x95,0xED),
  MediumSlateBlue = RGB(0x7B,0x68,0xEE),
  RoyalBlue = RGB(0x41,0x69,0xE1),
  Blue = RGB(0x00,0x00,0xFF),
  MediumBlue = RGB(0x00,0x00,0xCD),
  DarkBlue = RGB(0x00,0x00,0x8B),
  Navy = RGB(0x00,0x00,0x80),
  MidnightBlue = RGB(0x19,0x19,0x70),
  Cornsilk = RGB(0xFF,0xF8,0xDC),
  BlanchedAlmond = RGB(0xFF,0xEB,0xCD),
  Bisque = RGB(0xFF,0xE4,0xC4),
  NavajoWhite = RGB(0xFF,0xDE,0xAD),
  Wheat = RGB(0xF5,0xDE,0xB3),
  BurlyWood = RGB(0xDE,0xB8,0x87),
  Tan = RGB(0xD2,0xB4,0x8C),
  RosyBrown = RGB(0xBC,0x8F,0x8F),
  SandyBrown = RGB(0xF4,0xA4,0x60),
  Goldenrod = RGB(0xDA,0xA5,0x20),
  DarkGoldenrod = RGB(0xB8,0x86,0x0B),
  Peru = RGB(0xCD,0x85,0x3F),
  Chocolate = RGB(0xD2,0x69,0x1E),
  SaddleBrown = RGB(0x8B,0x45,0x13),
  Sienna = RGB(0xA0,0x52,0x2D),
  Brown = RGB(0xA5,0x2A,0x2A),
  Maroon = RGB(0x80,0x00,0x00),
  White = RGB(0xFF,0xFF,0xFF),
  Snow = RGB(0xFF,0xFA,0xFA),
  Honeydew = RGB(0xF0,0xFF,0xF0),
  MintCream = RGB(0xF5,0xFF,0xFA),
  Azure = RGB(0xF0,0xFF,0xFF),
  AliceBlue = RGB(0xF0,0xF8,0xFF),
  GhostWhite = RGB(0xF8,0xF8,0xFF),
  WhiteSmoke = RGB(0xF5,0xF5,0xF5),
  Seashell = RGB(0xFF,0xF5,0xEE),
  Beige = RGB(0xF5,0xF5,0xDC),
  OldLace = RGB(0xFD,0xF5,0xE6),
  FloralWhite = RGB(0xFF,0xFA,0xF0),
  Ivory = RGB(0xFF,0xFF,0xF0),
  AntiqueWhite = RGB(0xFA,0xEB,0xD7),
  Linen = RGB(0xFA,0xF0,0xE6),
  LavenderBlush = RGB(0xFF,0xF0,0xF5),
  MistyRose = RGB(0xFF,0xE4,0xE1),
  Gainsboro = RGB(0xDC,0xDC,0xDC),
  LightGrey = RGB(0xD3,0xD3,0xD3),
  Silver = RGB(0xC0,0xC0,0xC0),
  DarkGray = RGB(0xA9,0xA9,0xA9),
  Gray = RGB(0x80,0x80,0x80),
  DimGray = RGB(0x69,0x69,0x69),
  LightSlateGray = RGB(0x77,0x88,0x99),
  SlateGray = RGB(0x70,0x80,0x90),
  DarkSlateGray = RGB(0x2F,0x4F,0x4F),
  Black = RGB(0x00,0x00,0x00)
};

Use it as you see fit.

As one more point of reference for color, here is a good reference page for Color Selection.

[/OpenSource/Programming] permanent link


2007 May 20 - Sun

SSH Article Summary

Here are a few articles I've written regarding SSH:

[/OpenSource] permanent link


2007 May 18 - Fri

Using a USRobotics Modem for Out of Band Management (OOB)

In configuring an older 33.6Kbps US Robotics modem for accepting auto-dial-up calls into a router, here are a few items to know:

  • Use 'at&f1&b1&w0&w1y0' to force the modem to speak at 9600 to the router
  • use 'ati5' to confirm new communications rate setting
  • I seem to recall that all dip switch settings are in the up position but for 2, 4, 8, which are down

[/Cisco] permanent link


2007 May 17 - Thu

HTML Page Template Framework

'Glue' web pages on the monitoring server are generated through the Mason Delivery Engine. In other words, Mason is a Perl based template system used for formatting the primary web pages of this server. It requres the use of Apache and mod_perl. Here is what I do to install Mason for my needs. As the monitoring server relies on tables from two databases, OneUnified and NetDisco, the installation process revolves around getting things ready for these two types of databases.

Installation

Install the packages:

apt-get install libhtml-mason-perl
apt-get install speedy-cgi-perl
apt-get install libfcgi-perl
apt-get install libdbi-perl
apt-get install libdbd-pg-perl
apt-get install apache2-dev
apt-get install libapache2-mod-apreq2
apt-get install libapache-dbi-perl
apt-get install libmasonx-request-withapachesession-perl
apt-get install libapache2-request-perl
ln -s /etc/apache2/mods-available/apreq.load /etc/apache2/mods-enabled/apreq.load

Add the following line into '/etc/postgresql/8.1/main/pg_hba.conf':

local   netdisco    netdisco    trust
local 	oneunified  oneunified	trust

Create and load database:

/etc/init.d/postgresql-8.1 restart
su - postgres
psql template1
create user netdisco;
create group netdisco user netdisco;
create database netdisco with owner netdisco;
create user oneunified;
create group oneunified user oneunified;
create database oneunified with owner oneunified;
\q
psql netdisco -U netdisco < netdisco.dump

exit

Add the following lines into /etc/apache2/sites-available/default:


	PerlModule HTML::Mason::ApacheHandler

	<Directory /var/www/liveprobe>
        	PerlSetVar MasonArgsMethod CGI
		PerlSetVar MasonDataDir /var/local/mason
		PerlSetVar MasonDeclineDirs 0
	</Directory>

        # Decline access to mason internals
	<LocationMatch "/liveprobe/.*(\.mc|autohandler|dhandler)$">
		SetHandler perl-script
		PerlInitHandler Apache::Constants::NOT_FOUND
	</LocationMatch>

	<LocationMatch "/liveprobe/.*(\.html)$">
		SetHandler perl-script
		PerlHandler HTML::Mason::ApacheHandler
	</LocationMatch>

	Include /usr/local/netdisco/netdisco_apache.conf
	Include /usr/local/netdisco/netdisco_apache_dir.conf

Restart Apache:

/etc/init.d/apache2 restart

[/OpenSource/Debian/Monitoring] permanent link


Debian based Open Source Network Monitoring Server

In giving back to the wealth of tools the open source community has provided, I have created a number of pages describing how I have assembled a set of open source based network monitoring tools.

The set of tools is in two sections. The first step has to do with the installation of the Debian distribution:

Once the base is in place. Make it easy on your self to log in to the server to carry out various command line tasks:

Here are some entries for maintaining and upgrades of the distribution:

The next section has to do with the add-on tools:

There are a few optional tools, not fully integrated into the overall plan yet:

The next portion of the plan includes developing a database for maintaining circuit, patch panel, and floor diagram layout information. This will integrate with an IP Address management scheme I've come up with, and should work with Cricket and NetDisco to provide a fully integrated visual troubleshooting guide to an organization's network.

[/OpenSource/Debian/Monitoring] permanent link


2007 May 16 - Wed

One Unified Address Management Schema v1.1

I did some more brainstorming on how I wanted to visually represent a network along with it's address structure. I've incorporated some additional tables into the design to handle a hierarchical network map.

The core of the database schema is still represented by the host, interface, circuit, address, location, organization, and ianaiftype tables.

The Image table contains references to all pictures of hosts and locations. All other associated tables reference the images managed by this table.

The WeatherMap group of tables allows a Network Weathermap to be defined for a collection of circuits. By requesting a certain weathermap, the WeathermapCircuit table provides a list of associated circuits. The circuit links to interfaces and their respective hosts. By looking for hosts in the HostOnImage table that reference the same hostid and imageid, a weather map can be automatically drawn with the appropriate host picture from the HostImage table along with the collected interface statistics.

The HostType table represents names such as 'Router', 'Switch', 'Server', 'Access Point', etc.

Two tables have been added to the Location group of tables. LocationImage represents images of locations: a building, a floor, a cabinet, a back panel, with each image suggesting a collection of sub-locations. The LocationOnImage table provides the ability to click on an active area on LocationImage and drill down to the more specific LocationImage.

[/OpenSource/Debian/AddressManagement] permanent link


2007 May 15 - Tue

One Unified Address Management (OUAM)

For the longest time, I thought that the sum total of the ip address management solutions out there revolved around NorthStar and IPplan, neither of which really were as robust as I'd like.

A recent 'net search comes up with some different candidates. A IP Addressing Space Management Applications? has some interesting pointers to IP Address Management solutions, both Open Source as well as Commercial. One Open Source solution that appeared to be a stand out is Carnegie Mellon's Network Registration/Network Monitoring solution. It is under active development. Internet2 has some links to solutions that handle various combinations of Agents, Registration, and Active/Passive Detection.

Some of the above actually crosses over into the region of Network Authentication, of which Internet2's SALSAK is trying to rigorize through a Poicy Framework. Their second draft has better details, in my opinion.

So I can come back to this later, in following the various links from an earlier mentioned table, I came across PacketFence which is a Network Access Control (NAC) solution wrapped up in a VMWare deployment package.

When coming up with an IP Address Management Solution, BT Diamond IP has a handy guide to Best Practices for Next-Generation IP Address Management.

During my initial thoughts of what I'd like to see, I was focussing more on address management, floor diagrams, and port management than on DNS and DHCP. I figured DNS would be easy by simply exporting bind files on an as required basis. I havn't considered DHCP integration yet, but should be straight forward with dhcp configuration file exports, or data base lookups.

I had put together a schema diagram of what I was thinking of for ip address and facilities management.

Here is a description of the various links:

  • Host -> Location: every host is associated with a particular location, floor, rack, shelf, etc
  • Interface -> Host: an interface, and its sub-interfaces are associated with a host
  • Interface -> Address:
    • an interface, or sub-interface will have an associated address
    • an interface will need multiple sub interfaces to contain additional addresses
    • these sub-interfaces may simply be 'secondary address blocks', or secondary addresses, or vlans
  • Interface -> Circuit: an interface is associated with a particular circuit, patch panel, connector, etc
  • Circuit -> Address:
    • a circuit may reference an address or address range that can be used to find attached interfaces, hosts, and circuits (and is recursive by looking at subnets and contained addresses)
    • thus routed address blocks shouldn't be referenced this way, only a circuit with ip endpoints should have an address reference
  • Port -> Address: for ports routed to different locations, or are routed, this is where this is documented, such as on NAT.d addresses (eg port 80 (http) or port 25 (smtp))
  • Address -> Organization: Every address range is associated with a controlling organization

Some of the tables have 'self' links. This provides an ability for defining a hierarchy of relationships:

  • Address: address blocks can be subdivided down to a /32
  • Interface: a phsysical interface may be divided into sub-interfaces
  • Circuit: a circuit may be composed of sub-circuits, wire going from wall jack to IDF to MDF to IDF to wall jack
  • Location: a building may have multiple floors, a server room may have multiple racks, a rack will have multiple 'U' locations

Here is a sql schema file to go along with the diagram. It is based upon PostgreSQL as it has native data types for handling ip addresses and mac addresses.

[/OpenSource/Debian/AddressManagement] permanent link


Import IANAifType

From the web page http://www.iana.org/assignments/ianaiftype-mib there is an list of interface types. Early portions of this list are incorporated into /usr/share/cricket/util/genDevConfig. The full list is parsed and imported into the database.

Conversion

Create a perl program ianaif.pl:

#! /usr/bin/perlwhile ( <STDIN> ) {
  $_ =~ /^\s+([\-\w]+)\s*\((\d+)\),?(\s*|\s*--\s(.+?))\s*$/;
  print "insert into ianaiftype (ianaiftypeid, name, description) values ($2, '$1', '$4');\n";
}

Create a file 'ianaif.txt' with the mildly edited content from web site. Run the perl script to create an imort file:

perl ianaif.pl < ianaif.txt > ianaif.import

Import into the database:

su - postgres
psql oneunified
\i ianaif.import
\q

Here is the raw data:

                   other(1),          -- none of the following
                   regular1822(2),
                   hdh1822(3),
                   ddnX25(4),
                   rfc877x25(5),
                   ethernetCsmacd(6), -- for all ethernet-like interfaces,
                   iso88023Csmacd(7), -- Deprecated, use ethernetCsmacd (6)
                   iso88024TokenBus(8),
                   iso88025TokenRing(9),
                   iso88026Man(10),
                   starLan(11), -- Deprecated,  use ethernetCsmacd (6)
                   proteon10Mbit(12),
                   proteon80Mbit(13),
                   hyperchannel(14),
                   fddi(15),
                   lapb(16),
                   sdlc(17),
                   ds1(18),            -- DS1-MIB
                   e1(19),             -- Obsolete see DS1-MIB
                   basicISDN(20),
                   primaryISDN(21),
                   propPointToPointSerial(22), -- proprietary serial
                   ppp(23),
                   softwareLoopback(24),
                   eon(25),            -- CLNP over IP 
                   ethernet3Mbit(26),
                   nsip(27),           -- XNS over IP
                   slip(28),           -- generic SLIP
                   ultra(29),          -- ULTRA technologies
                   ds3(30),            -- DS3-MIB
                   sip(31),            -- SMDS, coffee
                   frameRelay(32),     -- DTE only. 
                   rs232(33),
                   para(34),           -- parallel-port
                   arcnet(35),         -- arcnet
                   arcnetPlus(36),     -- arcnet plus
                   atm(37),            -- ATM cells
                   miox25(38),
                   sonet(39),          -- SONET or SDH 
                   x25ple(40),
                   iso88022llc(41),
                   localTalk(42),
                   smdsDxi(43),
                   frameRelayService(44),  -- FRNETSERV-MIB
                   v35(45),
                   hssi(46),
                   hippi(47),
                   modem(48),          -- Generic modem
                   aal5(49),           -- AAL5 over ATM
                   sonetPath(50),
                   sonetVT(51),
                   smdsIcip(52),       -- SMDS InterCarrier Interface
                   propVirtual(53),    -- proprietary virtual/internal
                   propMultiplexor(54),-- proprietary multiplexing
                   ieee80212(55),      -- 100BaseVG
                   fibreChannel(56),   -- Fibre Channel
                   hippiInterface(57), -- HIPPI interfaces     
                   frameRelayInterconnect(58), -- Obsolete, use frameRelay(32) or frameRelayService(44)
                   aflane8023(59),     -- ATM Emulated LAN for 802.3
                   aflane8025(60),     -- ATM Emulated LAN for 802.5
                   cctEmul(61),        -- ATM Emulated circuit          
                   fastEther(62),      -- Obsoleted, use ethernetCsmacd (6)
                   isdn(63),           -- ISDN and X.25           
                   v11(64),            -- CCITT V.11/X.21             
                   v36(65),            -- CCITT V.36                  
                   g703at64k(66),      -- CCITT G703 at 64Kbps
                   g703at2mb(67),      -- Obsolete see DS1-MIB
                   qllc(68),           -- SNA QLLC                    
                   fastEtherFX(69),    -- Obsoleted, use  ethernetCsmacd (6)
                   channel(70),        -- channel                     
                   ieee80211(71),      -- radio spread spectrum       
                   ibm370parChan(72),  -- IBM System 360/370 OEMI Channel
                   escon(73),          -- IBM Enterprise Systems Connection
                   dlsw(74),           -- Data Link Switching
                   isdns(75),          -- ISDN S/T interface
                   isdnu(76),          -- ISDN U interface
                   lapd(77),           -- Link Access Protocol D
                   ipSwitch(78),       -- IP Switching Objects
                   rsrb(79),           -- Remote Source Route Bridging
                   atmLogical(80),     -- ATM Logical Port
                   ds0(81),            -- Digital Signal Level 0
                   ds0Bundle(82),      -- group of ds0s on the same ds1
                   bsc(83),            -- Bisynchronous Protocol
                   async(84),          -- Asynchronous Protocol
                   cnr(85),            -- Combat Net Radio
                   iso88025Dtr(86),    -- ISO 802.5r DTR
                   eplrs(87),          -- Ext Pos Loc Report Sys
                   arap(88),           -- Appletalk Remote Access Protocol
                   propCnls(89),       -- Proprietary Connectionless Protocol
                   hostPad(90),        -- CCITT-ITU X.29 PAD Protocol
                   termPad(91),        -- CCITT-ITU X.3 PAD Facility
                   frameRelayMPI(92),  -- Multiproto Interconnect over FR
                   x213(93),           -- CCITT-ITU X213
                   adsl(94),           -- Asymmetric Digital Subscriber Loop
                   radsl(95),          -- Rate-Adapt. Digital Subscriber Loop
                   sdsl(96),           -- Symmetric Digital Subscriber Loop
                   vdsl(97),           -- Very H-Speed Digital Subscrib. Loop
                   iso88025CRFPInt(98), -- ISO 802.5 CRFP
                   myrinet(99),        -- Myricom Myrinet
                   voiceEM(100),       -- voice recEive and transMit
                   voiceFXO(101),      -- voice Foreign Exchange Office
                   voiceFXS(102),      -- voice Foreign Exchange Station
                   voiceEncap(103),    -- voice encapsulation
                   voiceOverIp(104),   -- voice over IP encapsulation
                   atmDxi(105),        -- ATM DXI
                   atmFuni(106),       -- ATM FUNI
                   atmIma (107),       -- ATM IMA     
                   pppMultilinkBundle(108), -- PPP Multilink Bundle
                   ipOverCdlc (109),   -- IBM ipOverCdlc
                   ipOverClaw (110),   -- IBM Common Link Access to Workstn
                   stackToStack (111), -- IBM stackToStack
                   virtualIpAddress (112), -- IBM VIPA
                   mpc (113),          -- IBM multi-protocol channel support
                   ipOverAtm (114),    -- IBM ipOverAtm
                   iso88025Fiber (115), -- ISO 802.5j Fiber Token Ring
                   tdlc (116),        -- IBM twinaxial data link control
                   gigabitEthernet (117), -- Obsoleted, use ethernetCsmacd (6)
                   hdlc (118),         -- HDLC
                   lapf (119),        -- LAP F
                   v37 (120),        -- V.37
                   x25mlp (121),       -- Multi-Link Protocol
                   x25huntGroup (122), -- X25 Hunt Group
                   trasnpHdlc (123),   -- Transp HDLC
                   interleave (124),   -- Interleave channel
                   fast (125),         -- Fast channel
                   ip (126),        -- IP (for APPN HPR in IP networks)
                   docsCableMaclayer (127),  -- CATV Mac Layer
                   docsCableDownstream (128), -- CATV Downstream interface
                   docsCableUpstream (129),  -- CATV Upstream interface
                   a12MppSwitch (130), -- Avalon Parallel Processor
                   tunnel (131),       -- Encapsulation interface
                   coffee (132),       -- coffee pot
                   ces (133),          -- Circuit Emulation Service
                   atmSubInterface (134), -- ATM Sub Interface
                   l2vlan (135),       -- Layer 2 Virtual LAN using 802.1Q
                   l3ipvlan (136),     -- Layer 3 Virtual LAN using IP
                   l3ipxvlan (137),    -- Layer 3 Virtual LAN using IPX
                   digitalPowerline (138), -- IP over Power Lines 
                   mediaMailOverIp (139), -- Multimedia Mail over IP
                   dtm (140),        -- Dynamic syncronous Transfer Mode
                   dcn (141),    -- Data Communications Network
                   ipForward (142),    -- IP Forwarding Interface
                   msdsl (143),       -- Multi-rate Symmetric DSL
                   ieee1394 (144), -- IEEE1394 High Performance Serial Bus
                   if-gsn (145),       --   HIPPI-6400 
                   dvbRccMacLayer (146), -- DVB-RCC MAC Layer
                   dvbRccDownstream (147),  -- DVB-RCC Downstream Channel
                   dvbRccUpstream (148),  -- DVB-RCC Upstream Channel
                   atmVirtual (149),   -- ATM Virtual Interface
                   mplsTunnel (150),   -- MPLS Tunnel Virtual Interface
                   srp (151), -- Spatial Reuse Protocol 
                   voiceOverAtm (152),  -- Voice Over ATM
                   voiceOverFrameRelay (153),   -- Voice Over Frame Relay 
                   idsl (154),  -- Digital Subscriber Loop over ISDN
                   compositeLink (155),  -- Avici Composite Link Interface
                   ss7SigLink (156),     -- SS7 Signaling Link 
                   propWirelessP2P (157),  --  Prop. P2P wireless interface
                   frForward (158),    -- Frame Forward Interface
                   rfc1483 (159), -- Multiprotocol over ATM AAL5
                   usb (160),  -- USB Interface
                   ieee8023adLag (161),  -- IEEE 802.3ad Link Aggregate
                   bgppolicyaccounting (162), -- BGP Policy Accounting
                   frf16MfrBundle (163), -- FRF .16 Multilink Frame Relay 
                   h323Gatekeeper (164), -- H323 Gatekeeper
                   h323Proxy (165), -- H323 Voice and Video Proxy
                   mpls (166), -- MPLS                   
                   mfSigLink (167), -- Multi-frequency signaling link
                   hdsl2 (168), -- High Bit-Rate DSL - 2nd generation
                   shdsl (169), -- Multirate HDSL2
                   ds1FDL (170), -- Facility Data Link 4Kbps on a DS1
                   pos (171), -- Packet over SONET/SDH Interface
                   dvbAsiIn (172), -- DVB-ASI Input
                   dvbAsiOut (173), -- DVB-ASI Output 
                   plc (174), -- Power Line Communtications
                   nfas (175), -- Non Facility Associated Signaling
                   tr008 (176), -- TR008
                   gr303RDT (177), -- Remote Digital Terminal
                   gr303IDT (178), -- Integrated Digital Terminal
                   isup (179), -- ISUP
                   propDocsWirelessMaclayer (180), -- Cisco proprietary Maclayer
                   propDocsWirelessDownstream (181), -- Cisco proprietary Downstream
                   propDocsWirelessUpstream (182), -- Cisco proprietary Upstream
                   hiperlan2 (183), -- HIPERLAN Type 2 Radio Interface
                   propBWAp2Mp (184), -- PropBroadbandWirelessAccesspt2multipt
                   sonetOverheadChannel (185), -- SONET Overhead Channel
                   digitalWrapperOverheadChannel (186), -- Digital Wrapper
                   aal2 (187), -- ATM adaptation layer 2
                   radioMAC (188), -- MAC layer over radio links
                   atmRadio (189), -- ATM over radio links   
                   imt (190), -- Inter Machine Trunks
                   mvl (191), -- Multiple Virtual Lines DSL
                   reachDSL (192), -- Long Reach DSL
                   frDlciEndPt (193), -- Frame Relay DLCI End Point
                   atmVciEndPt (194), -- ATM VCI End Point
                   opticalChannel (195), -- Optical Channel
                   opticalTransport (196), -- Optical Transport
                   propAtm (197), --  Proprietary ATM       
                   voiceOverCable (198), -- Voice Over Cable Interface
                   infiniband (199), -- Infiniband
                   teLink (200), -- TE Link
                   q2931 (201), -- Q.2931
                   virtualTg (202), -- Virtual Trunk Group
                   sipTg (203), -- SIP Trunk Group
                   sipSig (204), -- SIP Signaling   
                   docsCableUpstreamChannel (205), -- CATV Upstream Channel
                   econet (206), -- Acorn Econet
                   pon155 (207), -- FSAN 155Mb Symetrical PON interface
                   pon622 (208), -- FSAN622Mb Symetrical PON interface
                   bridge (209), -- Transparent bridge interface
                   linegroup (210), -- Interface common to multiple lines     
                   voiceEMFGD (211), -- voice E&M Feature Group D
                   voiceFGDEANA (212), -- voice FGD Exchange Access North American
                   voiceDID (213), -- voice Direct Inward Dialing
                   mpegTransport (214), -- MPEG transport interface
                   sixToFour (215), -- 6to4 interface (DEPRECATED)
                   gtp (216), -- GTP (GPRS Tunneling Protocol)
                   pdnEtherLoop1 (217), -- Paradyne EtherLoop 1
                   pdnEtherLoop2 (218), -- Paradyne EtherLoop 2
                   opticalChannelGroup (219), -- Optical Channel Group 
                   homepna (220), -- HomePNA ITU-T G.989       
                   gfp (221), -- Generic Framing Procedure (GFP) 
                   ciscoISLvlan (222), -- Layer 2 Virtual LAN using Cisco ISL
                   actelisMetaLOOP (223), -- Acteleis proprietary MetaLOOP High Speed Link 
                   fcipLink (224), -- FCIP Link  
                   rpr (225), -- Resilient Packet Ring Interface Type
                   qam (226), -- RF Qam Interface
                   lmp (227), -- Link Management Protocol
                   cblVectaStar (228), -- Cambridge Broadband Limited VectaStar
                   docsCableMCmtsDownstream (229), -- CATV Modular CMTS Downstream Interface
                   adsl2 (230), -- Asymmetric Digital Subscriber Loop Version 2
                   macSecControlledIF (231), -- MACSecControlled 
                   macSecUncontrolledIF (232), -- MACSecUncontrolled
                   aviciOpticalEther (233), -- Avici Optical Ethernet Aggregate
                   atmbond (234), -- atmbond 
                   voiceFGDOS (235), -- voice FGD Operator Services
                   mocaVersion1 (236), -- MultiMedia over Coax Alliance (MoCA) Interface
                   ieee80216WMAN (237), -- IEEE 802.16 WMAN interface
                   adsl2plus (238), -- Asymmetric Digital Subscriber Loop Version 2, 
                   dvbRcsMacLayer (239), -- DVB-RCS MAC Layer
                   dvbTdm (240), -- DVB Satellite TDM
                   dvbRcsTdma (241), -- DVB-RCS TDMA
                   x86Laps (242) -- LAPS based on ITU-T X.86/Y.1323   

[/OpenSource/Debian/AddressManagement] permanent link


2007 May 14 - Mon

Nagios Installation and Sample Configuration

Introduction

As part of the network monitoring server, Nagios is used for monitoring servers and their services. Installation

Download and expand the source:

cd /usr/src
wget http://superb-east.dl.sourceforge.net/sourceforge/nagios/nagios-2.4.tar.gz
tar  -zxvf nagios-2.4.tar.gz

Add users and groups:

adduser nagios
mkdir /usr/local/nagios
chown nagios.nagios /usr/local/nagios
groupadd nagioscmd
usermod -G nagioscmd www-data
usermod -G nagioscmd nagios

Obtain libs, compile, and install:

apt-get install libgd-dev
apt-get install mcrypt
apt-get install libmcrypt-dev
cd nagios-2.4
./configure \
  --prefix=/usr/local/nagios \
  --with-cgiurl=/cgi-bin/nagios \
  --with-htmurl=/nagios \
  --with-nagios-user=nagios \
  --with-nagios-group=nagios \
  --with-command-group=nagioscmd \
  --localstatedir=/var/local/nagios
make all
make install
make install-init
make install-commandmode
make install-config

Add the following lines to /etc/apache2/sites-available/default. They need to go before the default cgi-bin configuration files.

<Location "/nagios/">
  SetHandler default-handler
</Location>
ScriptAlias /cgi-bin/nagios/ /usr/local/nagios/sbin/
<Directory "/usr/local/nagios/sbin">
#    AllowOverride AuthConfig
    AllowOverride None
    Options ExecCGI -MultiViews
    Order allow,deny
    Allow from all
    AddHandler cgi-script .cgi
</Directory>

Alias /nagios/ "/usr/local/nagios/share/"
<Directory "/usr/local/nagios/share">
    DefaultType text/html
    Options None
#    AllowOverride AuthConfig
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Restart Apache:

/etc/init.d/apache2 restart

Modify configuration files:

cd /usr/local/nagios
mkdir samples
cp * samples/
mv cgi.cfg-sample cgi.cfg
mv checkcommands.cfg-sample checkcommands.cfg
mv misccommands.cfg-sample misccommands.cfg
mv nagios.cfg-sample nagios.cfg
mv resource.cfg-sample resource.cfg
rm bigger.cfg-sample
rm minimal.cfg-sample

Install plug-ins:

cd /usr/src
>wget  http://superb-east.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.3.tar.gz
tar -zxvf nagios-plugins-1.4.3.tar.gz
cd nagios-plugins-1.4.3
./configure \
  --prefix=/usr/local/nagios \
  --with-nagios-user=nagios \
  --with-nagios-group=nagios \
  --with-cgiurl=/cgi-bin/nagios
make
make install

Make Nagios run automatically:

update-rc.d nagios defaults 25

To test configurations before committing them to execution:

cd /usr/local/nagios
bin/nagios -v etc/nagios.cfg
Customizations

In /usr/local/nagios/etc/checkcommands.cfg, insert the following lines (this will be used by an Windows event logging program):

# 'check_dummy' command definition
define command{
        command_name    check_dummy
        command_line    $USER1$/check_dummy $ARG1$ $ARG2$
        }

Create a directory for site specific configurations:

mkdir /usr/local/nagios/etc/examplecom 

Make the following changes to /usr/local/nagios/etc/nagios.cfg:

#cfg_file=/usr/local/nagios/etc/minimal.cfg
cfg_dir=/usr/local/nagios/etc/examplecom
check_external_commands=1
use_syslog=0
log_notifications=0
date_format=iso8601
admin_email=root

Apply the following changes to /usr/local/nagios/etc/cgi.cfg:

46c46
< show_context_help=0
---
> show_context_help=1
65c65
< #nagios_check_command=/usr/local/nagios/libexec/check_nagios /var/local/nagios/status.dat 5 
'/usr/local/nagios/bin/nagios'
---
> nagios_check_command=/usr/local/nagios/libexec/check_nagios /var/local/nagios/status.dat 5 
'/usr/local/nagios/bin/nagios'
116c116
< #authorized_for_system_information=nagiosadmin,theboss,jdoe
---
> authorized_for_system_information=nagiosadmin,admin
128c128
< #authorized_for_configuration_information=nagiosadmin,jdoe
---
> authorized_for_configuration_information=nagiosadmin,admin
141c141
< #authorized_for_system_commands=nagiosadmin
---
> authorized_for_system_commands=nagiosadmin,admin
154,155c154,155
< #authorized_for_all_services=nagiosadmin,guest
< #authorized_for_all_hosts=nagiosadmin,guest
---
> authorized_for_all_services=nagiosadmin,admin
> authorized_for_all_hosts=nagiosadmin,admin
168,169c168,169
< #authorized_for_all_service_commands=nagiosadmin
< #authorized_for_all_host_commands=nagiosadmin
---
> authorized_for_all_service_commands=nagiosadmin,admin
> authorized_for_all_host_commands=nagiosadmin,admin

Create a file /usr/local/nagios/etc/services.cfg with the following content:

################################################################################
# Configuration File:  Services
#
# Last Modified: 2006/06/08
# By:  Ray Burkholder
#
################################################################################

################################################################################
# Service Templates
################################################################################

# Generic service definition template
define service{
        name                            generic-service ; Generic Service Template
        active_checks_enabled           1       ; Active service checks are enabled
        passive_checks_enabled          1       ; Passive service checks are enabled/accepted
        parallelize_check               1       ; Active service checks should be parallelized
        obsess_over_service             1       ; We should obsess over this service (if necessary)
        check_freshness                 0       ; Default is to NOT check service 'freshness'
        notifications_enabled           1       ; Service notifications are enabled
        event_handler_enabled           1       ; Service event handler is enabled
        flap_detection_enabled          1       ; Flap detection is enabled
        process_perf_data               1       ; Process performance data
        retain_status_information       1       ; Retain status information across program restarts
        retain_nonstatus_information    1       ; Retain non-status information across program restarts

        register                        0       ; DONT REGISTER THIS DEFINITION
        is_volatile                     0
        check_period                    24x7
        max_check_attempts              3
        normal_check_interval           3
        retry_check_interval            1
        contact_groups                  general-admins
        notification_interval           120
        notification_period             24x7
        notification_options            w,u,c,r

        }

Create a file /usr/local/nagios/etc/hosts.cfg with the following content:

###############################################################################
# Configuration File:  Hosts
# Last Modified: 2006/06/08
#
# By:  Ray Burkholder
#
################################################################################
# HOST Template
################################################################################

# Generic host definition template
define host{
        name                            generic-host-skeleton    ; The name of this host template
        notifications_enabled           1       ; Host notifications are enabled
        event_handler_enabled           0       ; Host event handler is enabled
        flap_detection_enabled          1       ; Flap detection is enabled
        process_perf_data               1       ; Process performance data
        retain_status_information       1       ; Retain status information across program restarts
        retain_nonstatus_information    1       ; Retain non-status information across program restarts
        active_checks_enabled           1
        passive_checks_enabled          0
        max_check_attempts              5
        contact_groups                  general-admins
        register                        0       ; DONT REGISTER THIS DEFINITION
        }
# 'generic-host' server host definition
define host{
        name                    generic-host
        use                     generic-host-skeleton
        check_command           check-host-alive
        notification_interval   120
        notification_period     24x7
        notification_options    d,u,r
        register                0       ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOST
        }
# 'generic-host-nocheck' server host definition
define host{
        name                    generic-host-nocheck
        use                     generic-host-skeleton
        notification_interval   120
        notification_period     24x7
        notification_options    d,u,r
        register                0       ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL HOst
        }

Add the following lines to /usr/local/nagios/etc/nagios.cfg:

cfg_file=/usr/local/nagios/etc/services.cfg
cfg_file=/usr/local/nagios/etc/hosts.cfg
cfg_dir=/usr/local/nagios/etc/examplecom
examplecom files

Create file /usr/local/nagios/etc/examplecom/timeperiod.cfg:

################################################################################
# Configuration File:  Time Period
#
# Last Modified: 2005/07/19
#
# By:  Ray Burkholder
#
################################################################################


###############################################################################
# TIMEPERIOD DEFINITIONS
################################################################################
# '24x7' timeperiod definition
define timeperiod{
        timeperiod_name 24x7
        alias           24 Hours A Day, 7 Days A Week
        sunday          00:00-24:00
        monday          00:00-24:00
        tuesday         00:00-24:00
        wednesday       00:00-24:00
        thursday        00:00-24:00
        friday          00:00-24:00
        saturday        00:00-24:00
        }
# 'workhours' timeperiod definition
define timeperiod{
        timeperiod_name workhours
        alias           "Normal" Working Hours
        monday          09:00-17:00
        tuesday         09:00-17:00
        wednesday       09:00-17:00
        thursday        09:00-17:00
        friday          09:00-17:00
        }
# 'nonworkhours' timeperiod definition
define timeperiod{
        timeperiod_name nonworkhours
        alias           Non-Work Hours
        sunday          00:00-24:00
        monday          00:00-09:00,17:00-24:00
        tuesday         00:00-09:00,17:00-24:00
        wednesday       00:00-09:00,17:00-24:00
        thursday        00:00-09:00,17:00-24:00
        friday          00:00-09:00,17:00-24:00
        saturday        00:00-24:00
        }
# 'none' timeperiod definition
define timeperiod{
        timeperiod_name none
        alias           No Time Is A Good Time
        }

Create a file called /usr/local/nagios/etc/examplecom/contacts.cfg with the following contact. Add additional contacts and rearrange groups as needed.

################################################################################
# Configuration File:  Contacts and Contact Groups
#
# Last Modified: 2006/06/08
#
# By:  Ray Burkholder
#
################################################################################
# relevant documentation
# http://nagios.sourceforge.net/docs/1_0/xodtemplate.html#contact<
################################################################################
# CONTACT DEFINITIONS
################################################################################
# 'nagios' contact definition
define contact{
        contact_name                    nagios
        alias                           Nagios Admin
        service_notification_period     24x7
        host_notification_period        24x7
        service_notification_options    w,u,c,r
        host_notification_options       d,u,r
        service_notification_commands   notify-by-email,notify-by-epager
        host_notification_commands      host-notify-by-email,host-notify-by-epager
        email                           nagios-admin@localhost.localdomain
        pager                           pagenagios-admin@localhost.localdomain
        }
# Network Generic Alerts
define contact {
  contact_name                          networkalerts
  alias                                 Network Alerts
  service_notification_period           24x7
  host_notification_period              24x7
  service_notification_options          c,w
  host_notification_options             d,r
  service_notification_commands         notify-by-email
  host_notification_commands            host-notify-by-email
  email                                 networkalerts@example.com
  }
################################################################################
# CONTACT GROUP DEFINITIONS
################################################################################
# 'general-admins' contact group definition
define contactgroup{
        contactgroup_name       general-admins
        alias                   General Administrators
        members                 networkalerts
        }
# 'windows-server-admins' contact group definition
define contactgroup{
        contactgroup_name       windows-server-admins
        alias                   Windows Server Administrators
        members                 networkalerts
        }
# 'windows-desktop-admins' contact group definition
define contactgroup{
        contactgroup_name       windows-desktop-admins
        alias                   Windows Desktop Support
        members                 networkalerts
        }
# 'linux-server-admins' contact group definition
define contactgroup{
        contactgroup_name       linux-server-admins
        alias                   Linux Administrators
        members                 networkalerts
        }
# 'switch-admins' contact group definition
define contactgroup{
        contactgroup_name       switch-admins
        alias                   Etherswitch Administrators
        members                 networkalerts
        }
# 'router-admins' contact group definition
define contactgroup{
        contactgroup_name       router-admins
        alias                   Router Technicians
        members                 networkalerts
        }
# 'firewall-admins' contact group definition
define contactgroup{
        contactgroup_name       firewall-admins
        alias                   Firewall Technicians
        members                 networkalerts
        }
# 'printer-admins' contact group definition
define contactgroup{
        contactgroup_name       printer-admins
        alias                   Printer Administrators
        members                 networkalerts
        }
# 'sensor-admins' contact group definition
define contactgroup{
        contactgroup_name       sensor-admins
        alias                   Sensor Administrators
        members                 networkalerts
        }

Create a file called /usr/local/nagios/etc/examplecom/groups.cfg with the following template:

################################################################################
# Configuration File:  Groups
#
# Last Modified: 2006/06/08
# By:  Ray Burkholder
#
################################################################################
# Group DEFINITIONS
################################################################################
#define hostgroup {
#  hostgroup_name               groupname
#  alias                        Member Devices
#  members                      x,y
#  }

[/OpenSource/Debian/Monitoring] permanent link


2007 May 10 - Thu

TFTP Installation with ATFTPD

I use the atftpd tftp server daemon. For the most part, it is an easy package retrieval. However there are some custom security and directory settings. Installation

Install the package:

apt-get install atftpd

Edit /etc/inetd.conf and comment out the line with tftpd.

Restart inetd:

/etc/init.d/inetd.dpkg-new restart

Create a new directory, user, group, and privleges:

mkdir /var/atftpd
cd /var
groupadd atftpd
useradd -d /var/atftpd -g atftpd atftpd
chmod 766 atftpd
chown atftpd.atftpd atftpd

Edit /etc/default/atftpd. Add '--user atftpd.atftpd' and change '/tftpboot' to '/var/atftpd'.

Start the service:

/etc/init.d/atftpd start

[/OpenSource/Debian/Monitoring] permanent link


Installing Asterisk

It has been a year or two since I last worked with the Opensource PBX solution called Asterisk. Instead, I've been doing stuff with Cisco Callmanger and Voice Gateways for the last while. My support pages are still receiving regular hits with regards to Asterisk Support, so I think I should do more with it. I've got a bunch of scripts laying about that I'd like to resurrect.

So, to start off, I have a new Debian server, I need to install the latest and greatest from version control. Here is what I did.

These get me up to current for latest kernel. Compiling Asterisk requires the kernel headers, so they are included here. I want the call detail records to go to a PostgreSQL database, so I include the libraries as well. As the latest source is in Subversion, I need that package to obtain the installation files.

apt-get install linux-image-2.6.18-4-686
apt-get install linux-headers-2.6.18-4-686
apt-get install libncurses5-dev
apt-get install postgresql-dev
apt-get install subversion

Now I can obtain the source files:

cd /usr/src 
mkdir digium 
cd digium 
svn checkout http://svn.digium.com/svn/asterisk/trunk asterisk
svn checkout http://svn.digium.com/svn/zaptel/trunk zaptel
svn checkout http://svn.digium.com/svn/libpri/trunk libpri

Compile the driver files. A double make install will be required. If you are not using Digium hardware, use the ztdummy module, otherwise use the zaptel module. Once compiled and installed, the zaptel configuration file is found in /etc/zaptel.conf and will need to be updated before using the zaptel module.

cd zaptel
make clean
make install
make install
mddprobe ztdummy
modprobe zaptel

For running with PRI digitial telephone circuits, another library needs to be built:

cd ../libpri
make clean
make install

This last one holds the bulk of the Asterisk build.

cd ../asterisk
./configure \
  --sysconfdir=/etc \
  --localstatedir=/var
make samples

That gets us to a basic installation. My next write up will show some of the configuration file stuff I do.

[/OpenSource/Debian/Asterisk] permanent link


2007 May 09 - Wed

Various Perl Based Proxy Tools

In perusing Debian's Package List, I came across a number of Perl based Proxy tools.

The first one, an item that sounds interesting, but havn't thought of a way to put it into action yet, is an HTTP Recorder. HTTP::Recorder is a browser-independent recorder that records interactions with web sites and produces scripts for automated playback. Recorder produces WWW::Mechanize scripts by default (see WWW::Mechanize by Andy Lester),

The next item is an HTTP Tunnel. httptunnel creates a bidirectional virtual data connection tunnelled in HTTP requests. The HTTP requests can be sent via an HTTP proxy if so desired. This can be useful for users behind restrictive firewalls. If WWW access is allowed through a HTTP proxy, it's possible to use httptunnel and, say, telnet or PPP to connect to a computer outside the firewall.

The third item is HTTP::Proxy. It is a Perl based HTTP Proxy. It sounds like it can do some SSL type interception as well. It has an ability for add-on modules allowing various parts of a page to be re-processed prior to delivery back to a user.

[/OpenSource/Debian] permanent link


Redirecting a Web Page

I've encountered a number of ways to redirect a web page. If all you have access to is a web page, then a meta tag is the way to go:

<html>
<head>
<meta http-equiv="refresh" content="3;url=/liveprobe/index.html">
</head>
<body>
You will be redirected to <a href=/liveprobe/index.html>/liveprobe/index.html</a> in 3 seconds.
</body>
</html>

More meta-tags can be found at http://vancouver-webpages.com/META/.

If pages are being dynamically created, then executing the following code before anything else on the page is generated should do the trick (I haven't tried it out myself yet):

        print "Status: 302 Moved Temporarily\r\n",
              "Location: $url\r\n",
              "Content-Type: text/html\r\n\r\n",
              "$url\r\n";

[/Personal/SoftwareDevelopment/HTML] permanent link


Upgrading Nfsen and Nfdump

As an update to my two articles for installing nfdump and installing nfsen, here are a few corrections and a process for upgrading.

As of this writing, the latest snapshots are for March 12. Here is the upgrade process:

cd /usr/src
wget http://superb-east.dl.sourceforge.net/sourceforge/nfsen/nfsen-snapshot-20070312.tar.gz
wget http://superb-west.dl.sourceforge.net/sourceforge/nfdump/nfdump-snapshot-20070312.tar.gz
/usr/local/nfsen/bin/nfsen.rc stop
tar -zxvf nfdump-snapshot-20070312.tar.gz
tar -zxvf nfsen-snapshot-20070312.tar.gz
cd nfdump-snapshot-20070312
./configure
make
make install
cd ../nfsen-snapshot-20070312
./install.pl /etc/nfsen/nfsen.conf
/usr/local/nfsen/bin/nfsen.rc start

The 'start' command could be placed in /etc/rc.local so it starts upon boot. The start command also starts the flow collectors (nfdump), so there is no need to start them; the nfsen.rc command takes care of everything.

[/OpenSource/Debian/Monitoring] permanent link


2007 May 08 - Tue

Determiniing Space Used in SubDirectories

When space is getting tight, one has to find out where the space is being used. Sometimes it suffices to find where the most accumulation is and cleaning that up. To find that accumulation, use the du command:

 du -h -x  --max-depth=1

The -h turns the result into human readable form, the -x excludes files on a different file system (for when you have a mount somewhere in the structure), and the --max-depth performs a summarizes the results of the recursive search through the structure.

[/OpenSource] permanent link


Removing lots of files

If I don't have a clean up program running, sometimes autocollected files tend to accumulated. For example, netflow processing on 5 minute intervals can accumulate a large number of files. An 'rm' with a partical wild card seems to complain.

I've resorted to a chaining some command line utilities to come up with a quick script to remove files:

ls -1 | grep ft-v05.2007-0[123] | sed 's/^/rm /' > t.sh

This generates a one column directory listing and puts it through grep. Grep looks for a few specific months of files and passes the list onto sed. Sed preappends the removal command onto each file name. The whole shooting match is thrown into a shell script.

Either set execute privileges on the script:

chmod 500 t.sh

Or run with with the shell command:

bash t.sh

[/OpenSource] permanent link


2007 May 07 - Mon

Importing a Blosxom Blog into Movable Type

I have my Blosxom based blog organized by category directories rather than by date. I've written a Perl script to take this collection of articles and transform them into a MovableType import file. My content files have a .txt extension. You'll need to change the match string if your extension is different from mine.

To run, there is a variable called dir which you seed with a starting directory. The program then scans that directory and further sub-directories looking for files with the designated suffix. It then uses the first line of a found file for the title. The third and subsequent lines are used for the content.

I've found that after importing, I'm not able to see the body in Movable Type's content editor. How weird... Well, it does show up when you customize the display of the page. It shows up in the extended entry text.

2007/06/12: David Graff suggested an additional print statement before the body block. I havn't tried it, but I hope it works to remedy the missing body bit.

Here is the script:

#!/usr/bin/perl

use strict;
#use File::stat;
use Fcntl ':mode';

my $author = 'ray';
my $ext = '.txt';

my @dirs;
my $dir = '/var/www/html/blog';
push( @dirs, $dir );

while ( $dir = pop( @dirs) ) {
  chdir( $dir );
  opendir( DIR, $dir );
#  print( "$dir\n" );
  foreach my $file ( readdir( DIR) ) {
    if ( $file =~ /.txt$/ ) {
      my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
                                                localtime((stat($file))[9]);
     $mon+=1;
     $year+=1900;
     $mon = substr( '0' . $mon, -2 ,2 );
     $mday = substr( '0' . $mday, -2, 2 );
     $hour = substr( '0' . $hour, -2, 2 );
     $min  = substr( '0' . $min, -2, 2 );
     $sec  = substr( '0' . $sec, -2, 2 );
     my $date = "$mon/$mday/$year $hour:$min:$sec";
#     print( "  $file: $date\n");

     open( FILE, '<' . $file );
     my $title = <FILE>;
     chomp( $title );

     my $body;
     my $extbody;
     my $line;
     my $summary = 1;
     while ( $line = <FILE> ) {
       if ( $summary ) {
         $body .= $line;
         if ( length( $line ) < 2 ) {
           $summary = 0;
           }
         }
       $extbody .= $line;
       }

     close( FILE );

     $dir =~ /\/([^\/]+$)/;
     my $category = $1;

     print( "AUTHOR: $author\n" );
     print( "TITLE:  $title\n" );
     print( "DATE: $date\n" );
     print( "PRIMARY CATEGORY: $category\n" );
     print( "STATUS: publish\n" );
#     print( "ALLOW COMMENTS: 1\n" );
#     print( "ALLOW PINGS: 1\n" );
     print("-----\n"); # 2007/06/12 insertion by David Graff
     print( "BODY:\n" . $body . "\n-----\n" );
     print( "EXTENDED BODY:\n" . $extbody . "\n-----\n" );
     print( "--------\n" );
     }

    my $mode = (stat($file))[2];
    if ( S_ISDIR( $mode ) ) {
      if ( '.' ne $file && '..' ne $file ) {
        push( @dirs, $dir . '/' . $file );
        }
      }
    }
  closedir( DIR );
  }

[/OpenSource/Debian/MovableType] permanent link


Security Enhancements for Remote Access at Microsoft

Here is a link to a paper that has a bunch of useful stuff in it regarding Microsoft VPN's, IAS (Internet Authentication Server), security scripting, and Windows 2003 based Remote Access Infrastructure:

Security Enhancements for Remote Access at Microsoft: Technical White Paper

[/Cisco] permanent link


User Certficate Auto Enrollment

With my 802.1x test setup, machine certificates were being sent to domain machines with no problem, but user certificates were not showing up.

In the group policy object, right on the container housing the users that needed certificates, I set the auto-enrollment settings. For some reason things weren't being inherited from the domain default policy. The group policy container is User Configuration -> Windows Settings -> Security Settings -> Public Key Policies -> Autoenrollment SEttings. The 'Enroll Certificates Automatically' needs to be checked along with it's two subsidiary check boxes.

The following command serves as a manual refresh of the policy:

gpupdate /target:user

Enrollment will take several minutes. Running the certmgr.msc mmc snap-in will allow one to check that the certificate has arrived in the Personal -> Certificates store.

The Application Event Log will contain success/failure status for the auto-enrollment.

I also found out from an troubleshooting auto-enrollment article, that domain users without email addresses will not auto-enroll. They don't need an actual email box, just an entry in the email attribute in Active Directory.

As further reference, Microsoft has an article on How Autoenrollment Works. There are other related and helpful articles in the same library section.

[/Cisco] permanent link


Movable Type Links

Here are some links to various pages in Movable Type that look useful:

[/OpenSource/Debian/MovableType] permanent link


2007 May 06 - Sun

I Hate PHP on a database call.

I think this is the second time I've been caught on this. And I should have recalled the second time around to check this.

I'm working through the process of installing and playing with Movable Type. It went quite well. Configuration and maintenance and adding content worked well. Well, up until I decided to enable Dynamic Content generation. Then I found out Movable Type has two faces, a Perl one and a PHP one.

To handle dynamic content, they do an Apache redirect/rewrite through a default php script, one that does a database call. And in order to do the databae call, it opens a connection to the database.

I'm testing with PostgreSQL. My Debian install didn't have, by default, the php4-pgsql package. If it isn't installed, PHP simply aborts somewhere in the code, quietly. How silly. No errors, no messages, no nothing.

So after untold 'echo()' statements later, I tracked it down to a call in the ezsql implementation. Finally the light bulb went on over my head. The fix:

apt-get install php4-pgsql

I'm wondering if there is a way to test for this package, so I don't forget this again.

I probably didn't clue into this before because the main Movable Type scripts are in Perl and use the database connections there. I made the, obviously incorrect assumption, that the PHP scripts were involved and already knew about the database driver. Well, I was incorrect on that one.

[/OpenSource/Debian/MovableType] permanent link


apt-get: Managing Packages

In a few of my earlier articles regarding upgrading and updating a Debian system, I missed a few key facts.

In one article, a mentioned performing a distribution upgrade. Another one mentioned doing a kernel upgrade and missing an lvm2 module.

The key is that if modules are being held-back, that is a sign that a distribution upgrade will be needed:

apt-get -u dist-upgrade

The -u parameter provides more detail as to what will be happening during the upgrade.

More details for working with packages can be found at APT HowTo

[/OpenSource/Debian] permanent link


SmartQuant QuantDeveloper & DataCenter Release

SmartQuant has released a revision to DataCenter and QuantDeveloper. DataCenter and QuantDeveloper are at the following revision levels:

DataCenter
Version 2.2.3 (12-Apr-2007) 

QuantDeveloper Enterprise Edition
Version 2.5.4 (04-May-2007)

QuantDeveloper Source Code
Version 2.5.1 (23-Mar-2007) 
* Recent Versions available through 
  version control 

[/Trading/SmartQuant/Releases] permanent link


2007 May 05 - Sat

Post Processing NMAP2Nagios Output

nmap2nagios is a module available from Nagios ExchangeK (I seem to recall). From an nmap based network scan, it generates information useful for import into Nagios. I needed to muck with the output somewhat in order to remove redundant references and other stuff. I'm sure there is a better way to do this, but this what I ended up with. If nothing else, it was a good introduction to the command line edit utility 'sed'.

On the network I was processing, device names had 'ilo' in them. I needed to remove them from the listing. I edited nmap2nagios.pl and did the following:

#!/usr/bin/perl -w

#line 126
my $n = $host_ref->{'host_name'};
print '** name ' . $n;
print ' done' . "\n";
next if ($n =~ /^ilo/);

I took a bunch of stuff out of nmap2nagios.conf.

I created a file called 'scanlo.sed' with the following content to remove references to printer and altiris stuff:

/portid="443/ {s/name="http"/name="https"/}
/portid="280/ {s/name="http"/name="hpweb1"/}
/portid="631/ {s/name="http"/name="hpweb2"/}
/portid="902/ {s/name="ftp"/name="altirisftp1"/}
/portid="912/ {s/name="ftp"/name="altirisftp2"/}

I then ran the following sequence of commands. nmap does the network scan with the given segment. Some inline editing is performed with sed. nmap2nagios creates another file, which is then copied to the nagios etc directory.

nmap -A -sV -p1-1024 -O -oA scanlo -v 10.1.1.0/24 sed -f scanlo.sed scanlo.xml > scanlo1.xml /usr/src/nmap2nagios-0.1.2/nmap2nagios.pl -i -v -r scanlo1.xml -o sh1.cfg sed 's/^>//' sh1.cfg > sh2.cfg cp sh2.cfg /usr/local/nagios/etc/

For checking ssh services, the following needs to be inserted into checkcommands.cfg:

# 'check_ssh' command definition
define command{
        command_name    check_ssh
        command_line    $USER1$/check_ssh  $HOSTADDRESS$
        }

[/OpenSource/Debian/Monitoring] permanent link


2007 May 04 - Fri

Configuring eSensors with Nagios

The EM01B WebSensor from Esensor (http://www.eesensors.com/websensor.html) provides Temperature, Humidity, and Illumination values to Nagios.

Download the source code for the Nagios plugin from http://www.nagiosexchange.org/Environmental.60.0.html?&tx_netnagext_pi1[p_view]=13 and place it into the /usr/src directory. Unzip it to a directory called esensors. Change into /usr/src/esensors/c and run:

gcc check_em01.c -o check_em01
cp check_em01 /usr/local/nagios/libexec/

Ignore the warnings.

Add the following llnes to /usr/local/nagios/etc/checkcommands.cfg:

# 'check_temp' command definition
define command{
            command_name check_temp
            command_line $USER1$/check_em01 $HOSTADDRESS$ T $ARG1$ $ARG2$ $ARG3$ $ARG4$
            }
# 'check_humidity' command definition
define command{
            command_name check_humidity
            command_line $USER1$/check_em01 $HOSTADDRESS$ H $ARG1$ $ARG2$ $ARG3$ $ARG4$
            }
# 'check_light command definition
define command{
            command_name check_light
            command_line $USER1$/check_em01 $HOSTADDRESS$ I $ARG1$ $ARG2$ $ARG3$ $ARG4$
            }

Create a file named /usr/local/nagios/etc/srvc_esensor.cfg with the following content:

###############################################################################
#
# Configuration file for eSensor Devices
#
# Last Modified: 2006-06-08
#
################################################################################

################################################################################
# SERVICE DEFINITIONS
################################################################################
# Generic service definition template
define service{
        name                            generic-esensor ;  Referenced in other service definitions
        active_checks_enabled           1       ; Active service checks are enabled
        passive_checks_enabled          1       ; Passive service checks are enabled/accepted
        parallelize_check               1       ; Active service checks should be parallelized
        obsess_over_service             1       ; We should obsess over this service (if necessary)
        check_freshness                 0       ; Default is to NOT check service 'freshness'
        notifications_enabled           1       ; Service notifications are enabled
        event_handler_enabled           1       ; Service event handler is enabled
        flap_detection_enabled          1       ; Flap detection is enabled
        process_perf_data               1       ; Process performance data
        retain_status_information       1       ; Retain status information across program restarts
        retain_nonstatus_information    0       ; Retain non-status information across program restarts
        register                        0       ; DONT REGISTER THIS DEFINITION
        is_volatile 0
        check_period 24x7
        max_check_attempts 3
        normal_check_interval 5
        retry_check_interval 1
        contact_groups sensor-admins
        notification_interval 30
        notification_period 24x7
        notification_options d,u,r
        }
# check temp service definition template
define service{
        use                             generic-esensor
        name                            etemp-service   ; Referenced in other service definitions
        register                        0       ; DONT REGISTER THIS DEFINITION
        service_description Temperature
        check_command check_temp!2!110!1!120
        }
# check humidity service definition template
define service{
        use                             generic-esensor
        name                            ehum-service    ; Referenced in other service definitions
        register                        0       ; DONT REGISTER THIS DEFINITION
        service_description Humidity
        check_command check_humidity!2!90!1!99
        }
# check light service definition template
define service{
        use                             generic-esensor
        name                            eillum-service  ; Referenced in other service definitions
        register                        0       ; DONT REGISTER THIS DEFINITION
        service_description Illumination
        check_command check_light!2!600!1!700
        }

Add the following line to /usr/local/nagios/etc/nagios.cfg:

cfg_file=/usr/local/nagios/etc/srvc_esensor.cfg

Create a file called /usr/local/nagios/etc/examplecom/em01.cfg with the following content:

define host{
        use                             generic-host
        host_name                       em01
        alias                           Heat, Humidity and Illumination tests
        address                         10.1.6.30
        }

define hostgroup{
        hostgroup_name  	Esensors
        alias          		Esensors HVAC sensor
        members         	em01
        }

define servicegroup{
        servicegroup_name       esensors
        alias                   Enviromental Monitoring
        members                 em01,Temperature
        members                 em01,Humidity
        members                 em01,Illumination
        }

define service {
        use                     etemperature-service
        host                    em01
        check_command           check_temp!60!80!50!85
        }

define service {
        use                     ehumidity-service
        host                    em01
        }

define service {
        use                     eillumination-service
        host                    em01
        }

As a side note, I think I'm going to process esensor output with something else. Here is a brief regular expression in a perl file called 'em.pl' to handle the output:

use strict;

my $a = <STDIN>;
$a =~ m/TF:[ ]*(\d+\.\d+).*HU:[ ]*(\d+\.\d+).+IL[ ]*(\d+\.\d+)/;
print "$1, $2, $3\n";

The following command line generates three values (using the tool 'curl' to obtain the current values):

echo `curl -s http://bmem01/index.html?em123456` | perl em.pl

[/OpenSource/Debian/Monitoring] permanent link


2007 May 03 - Thu

Installing SNMP Modules

SNMP configuration on Debian is quite easy:

apt-get install snmp
apt-get install snmpd

Here is an example snmp query on a device named device01, community string public, and values of interest in the ciscoRttMonMIB MIB. The '-m' says to load all mibs from the '-M' mib directory.

snmpwalk -v2c -c public -m ALL -M /usr/share/snmp/mibs device01 ciscoRttMonMIB

[/OpenSource/Debian/Monitoring] permanent link


2007 May 02 - Wed

Drraw Installation

Cricket and NetFlow create RRD files. Each has some basic utilities for drawing data found within the files. Drraw provides advanced capabilities for creating graphs, templates, and dashboards. Installation

Download the utility and expand the source:

wget http://web.taranis.org/drraw/dist/drraw-2.1.3.tgz
tar -zxvf drraw-2.1.3.tgz

Create an icon directory, copy the script and icon files:

cd drraw-2.1.3
mkdir /var/www/icons
cp icons/* /var/www/icons
cp drraw* /usr/lib/cgi-bin/
chmod 755 /usr/lib/cgi-bin/drraw.cgi

Create some directories:

mkdir /var/cache/apache2/drraw
mkdir /var/cache/apache2/drraw/saved
mkdir /var/cache/apache2/drraw/tmp
chown -R www-data.www-data /var/cache/apache2/drraw
mkdir /var/log/drraw
touch /var/log/drraw/error.log
chown -R www-data.www-data /var/log/drraw

Update /usr/lib/cgi-bin/drraw.conf with the following:

%datadirs = (
#               '/here/are/some/files'  => '[Label1] ',
             '/var/lib/cricket' => '[Cricket] ',
            );
$saved_dir = '/var/cache/apache2/drraw/saved';
$tmp_dir = '/var/cache/apache2/drraw/tmp';
$ERRLOG = '/var/log/drraw/errors.log';

Change the first line of /usr/lib/cgi-bin/drraw.cgi to:

#! /usr/bin/perl -T

The program can be started with:

http://localhost/cgi-bin/drraw.cgi

[/OpenSource/Debian/Monitoring] permanent link


2007 May 01 - Tue

HTML Page Template Framework

'Glue' web pages on the monitoring server are generated through the Mason Delivery Engine. In other words, Mason is a Perl based template system used for formatting the primary web pages of this server. It requres the use of Apache and mod_perl. Here is what I do to install Mason for my needs. As the monitoring server relies on NetDisco tables, a portion of the installation process revolves around initializing the NetDisco PostgreSQL database.

Installation

Install the packages:

apt-get install libhtml-mason-perl
apt-get install libdbi-perl
apt-get install libdbd-pg-perl
apt-get install apache2-dev
apt-get install libapache2-mod-apreq2
apt-get install libapache-dbi-perl
apt-get install libmasonx-request-withapachesession-perl
apt-get install libapache2-request-perl
ln -s /etc/apache2/mods-available/apreq.load 
/etc/apache2/mods-enabled/apreq.load

Add the following line into '/etc/postgresql/7.4/main/pg_hba.conf':

local   netdisco    netdisco     trust

Create and load database:

/etc/init.d/postgresql-7.4 restart
su - postgres
psql template1
create user netdisco;
create group netdisco user netdisco;
create database netdisco with owner netdisco;
\q
psql netdisco -U netdisco < netdisco.dump

exit

Add the following lines into /etc/apache2/sites-available/default:

    PerlModule HTML::Mason::ApacheHandler
    <LocationMatch "(.html|.txt|.pl)$">
        SetHandler perl-script
        PerlHandler HTML::Mason::ApacheHandler
    </LocationMatch>
    <LocationMatch "(.m(html|txt|pl)|dhandler|autohandler)$">
        SetHandler perl-script
        PerlInitHandler Apache::Constants::NOT_FOUND
    </LocationMatch>

        <Directory />
                Options FollowSymLinks
                AllowOverride None
                AllowOverride AuthConfig
                AuthType Basic
                AuthName "Password Required"
                AuthUserFile /etc/apache2/sites-available/password.file
                Require user admin
        </Directory>

Create a password file with a username admin:

htpasswd -c /etc/apache2/sites-available/password.file admin

Restart Apache:

/etc/init.d/apache2 restart

[/OpenSource/Debian/Monitoring] permanent link


2007 Apr 30 - Mon

Implementing a Wired 802.1X Network With Cisco and Microsoft

Some companies will set up guest networks utilizing a parallel network configuration: separate switches or hubs, along with separate DSL/router internet connections. They will then designate certain ports in a conference room to be 'corporate connections' and certain ports to be 'guest network'. They then leave it up to the user to 'pick a port'.

This mechanism does indeed provide a separate path to the internet, but obviously, the weakness is an inability to prevent people from using inappropriate ports.

A better from of enforcement is provided through the implementation of an authentication/authorization protocol called 802.1X. This protocol works with wired as well as wireless networks. Various methods of operation are available. The simplest to to either enable or disable a switch port based upon receipt of appropriate credentials from the supplicant, which is the computer/user being connected to the network.

A more sophisticated form of operation is to assign a vlan (and associated IP address) based upon computer and/or user credentials. If a connecting device does not have supplicant ability, a default 'guest' vlan can be assigned.

According to Cisco's and Microsoft's literature, the best authentication mechanism for 802.1X is through EAP-TLS, a PKI/certificate mechanism.

This document describes an implementation based upon Microsoft's Certifcate Authority (CA), Microsoft's Internet Authentication Server (IAS), and Cisco Switches.

The implementation uses a Windows Server 2003, Enterprise Edition, for the Certificate Authority. The Enterprise Edition has a few more CA templates (such as Wireless certificate templates) than does the Standard Edition product. One recommendation is to run the CA on a VMWare server. This provides the ability for simple backups and to move the CA from place to place. For very risk averse environments, placing the CA on a dedicated server in a secure room would be a better choice. The primary consideration in this is that the CA is a single point of failure and requires a simple, convenient, fast mechanism to bring it back to life during some sort of failure condition.

With the CA in place, machine and user certificates can be automatically issued through a Group Policy configuration.

Users and machines should be assigned to various Active Directory groups. For machines, possible groupings would be servers, workstations, and laptops. Since Laptops are typically more prone to carrying malicious nasties, assigning them to protected segments is beneficial.

As some HP printers are 802.1X ready, they can also be issued certificates.

Users can also be issued certificates. Preliminary testing indicates that Group Policy doesn't push out the certificates. Users need to download them manually by connecting to the CA server webpage at http://ca/certsrv to obtain their certificates.

Windows XP workstations have the 802.1X supplicant built in. The settings for the supplicant are in the authentication tab under properties for the network card. On some machines, you may need to start the Wireless Zero Configuration (WZC) service in order to see the tab. For our implementation, the defaults are fine.

However, there are two registry keys we play with to change the characteristics somewhat. They are described in a document called 802.11 Wireless Tools and Settings. Even though the document is about 802.11 Wireless, the settings still apply to wired connections. After changing the registry keys, the machine will need to be rebooted, or simpler, restart the WZC service.

  • AuthMode: HKEY_LOCAL_MACHINE\Software\Microsoft\EAPOL\Parameters\General\Global\AuthMode
  • SupplicantMode: HKEY_LOCAL_MACHINE\Software\Microsoft\EAPOL\Parameters\General\Global\SupplicantMode

With AuthMode of 1 and SupplicantMode of 3, you can get different VLAN's depending upon whether or not a user is logged in. If a user is not logged in, and a machine is plugged in, the machine certificate defines the VLAN. If a user subsequently logs in, the VLAN assignment changes to that associated with the user. If the user logs out, the VLAN reverts back to the VLAN associated with the machine certificate.

For another site where the administrator wants to ensure that users login to the network in order to ensure login scripts run (scripts that check that virus clients are up to date and such), a SupplicantMode of 2 and an AuthMode of 1 would be used. Supplicant mode of 2 will not force a renegotiation when a user logs in. In this scenario, one of two VLAN assignments happen:

  • If a user is logged in and the machine is connected to the network, the VLAN assignment is based upon the logged in user's certificate. As this doesn't force a domain login, no login scripts are run. Therefore, a blocked VLAN would be assigned to this relationship. This will force a user to logout, disconnect and reconnect in order to get the machine based VLAN instead.
  • If a user is not logged in and the machine is connected to the network, the VLAN assigned is the one associated with the machine certificate. Even when the user subsequently logs in, the VLAN assignment does not change. This mechansim forces the user's domain log in and the operation of log in scripts. (See further in this document on how this relates to the 'reauthenticate' command in the switch).

A company called Blue Socket may have some add-on tools that force Domain Login.

On the Cisco side of things, there are a number of configuration items. For a 3750 switch, Here is an example configuration document: Configuring 802.1x Port-Based Authentication.

The switch needs to know of one or, preferably more, RADIUS servers:

radius-server host 10.10.10.10 auth-port 1645 acct-port 1646 key thisisakey
radius-server source-ports 1645-1646

Make sure you have a username line and enable secret in the configuration:

username switchadmin password switchadminpass
enable secret enablesecret

Then let the switch know to where authentication requests need to be sent:

aaa new-model
aaa authentication dot1x default group radius
aaa authorization network default group radius
aaa accounting dot1x default start-stop group radius
aaa accounting system default start-stop group radius

A switch global command is required:

dot1x system-auth-control

Each interface needs some additional commands:

interface GigabitEthernet0/1
 switchport access vlan 3
 switchport mode access
 switchport port-security
 switchport port-security aging time 2
 switchport port-security violation restrict
 switchport port-security aging type inactivity
 dot1x pae authenticator
 dot1x port-control auto
 dot1x timeout quiet-period 3
 dot1x timeout server-timeout 10
 dot1x timeout tx-period 5
 dot1x timeout supp-timeout 5
! dot1x reauthentication
 dot1x auth-fail vlan 105
 spanning-tree portfast
 spanning-tree bpduguard enable

The 'dot1x reauthentication' may or may not be applicable. A scenario in which it should not be used is the following. I mentioned a scenario where you want a machine to be connected to the network before a user logs in. When the user does finally login, you don't want the vlan to change. Hence, SupplicantMode should be 2, and there should be no 'dot1x reauthentication' command. If the command were in place, the reauthentication would see the user certificate and change the vlan to suit. Which wouldn't be the desired affect.

For further reading and reference, here are some additional links:

[/Cisco] permanent link


2007 Apr 25 - Wed

My Voip Source

MyVoIPsource.org is a community plattform to Voice-over-IP Know-How. Here you will find:

  • Opensource VoIP Tools to make your IP-Telephony solution more attractive
  • VoIP Trainings to bring you "up-to-speed"
  • Support services if you don't have the time to do it yourself
  • A forum to engage with people who share your technical challenges
  • Development resources for your special features and needs

From their website: "Our focus is to explore the potential of integrating enterprise applications such as Outlook/Exchange, ERP, CRM, directories, databases etc. with VoIP solutions to create new ways of "how things can be done". We achieve this by using intelligent APIs and standardized interfaces that most Voice-over-IP solutions offer today. "

[/Cisco] permanent link


2007 Apr 23 - Mon

Linux On Wall Street

In a news headline this morning, I came across the following. It is the 5th Annual Show & Conference for Linux/Open Source on Wall Street. Which happens to be taking place today. On the site, you'll find a few presentations from last year's show as an indication of what materials and thoughts are happening this year.

Now if SmartQuant QuantDeveloper was on a Linux platform, it would be a blazing fast trading environment.

[/Trading] permanent link


2007 Apr 22 - Sun

IQFeed Provider For SmartQuant QuantDeveloper: Updated

I have an original article which discusses a beta IQFeed Provider for SmartQuant's QuantDeveloper product.

I've fixed a few bugs in the provider. In addition, it should work with IQFeed's soon to be released data feeds which are stamped at the second resolution rather than minute resolution. The Provider is released in a zip file with an updated Ticker utility called: OneUnified.IQFeed.1.1.zip. The new IQFeed client is iqfeed_client_4_2_1_3.exe.

[/Trading/SmartQuant/Articles] permanent link


2007 Apr 20 - Fri

Running the Same Commands on Multiple Cisco Devices

Older switches don't have the nifty 'interface range' command for applying the same configuration to multiple interfaces at the same time. On older style 48 port switches, it can be a boring task to update all interfaces with, say, a new vlan assignment.

I was thinking of doing an Expect script to perform the task. I tackled it once upon a time, and did come up with a working example, but it took a while to get used to the nuances of the Expect language.

Having more skills in Perl, and realizing that there is a CPAN add-on for Cisco devices, I recently did something up in Perl. The example below connects to a switch, and for each of 48 interfaces, it defaults it and then applies a new vlan.

By creating an array of devices, and if they have common usernames and passwords, or are authenticated through TACACS, the same commands could be applied to a range of devices in one easy run.

use strict;

use Net::Telnet::Cisco;

my $postDevice = 'bmsw08';
my $postCommand = 'sho inter status';

  my $session = Net::Telnet::Cisco->new(
    Host => $postDevice
    );
#  $session->login( '', 'password' );
  $session->login( 'username', 'password' );
  $session->enable('enable');

  my @output;
#  my @output = $session->cmd(String => $postCommand );
#  print @output;

   print $session->cmd( String => 'config t' );

   for ( my $i = 1; $i <= 48; $i++ ) {
     print $session->cmd( String => "inter f0/$i" );
     print $session->cmd( String => "default desc" );
     print $session->cmd( String => "swi acc vlan 103" );
   }


  $session->close();

There are two types of logins, one with a username and password, and one with just a password. An Enable is used in either case.

[/Cisco] permanent link


2007 Apr 12 - Thu

SmartQuant QuantDeveloper & DataCenter Release

SmartQuant has released a revision to DataCenter and QuantDeveloper. DataCenter and QuantDeveloper are at the following revision levels:

DataCenter
Version 2.2.3 (12-Apr-2007) 

QuantDeveloper Enterprise Edition
Version 2.5.3 (12-Apr-2007) 

QuantDeveloper Source Code
Version 2.5.1 (23-Mar-2007) 
* Recent Versions available through 
  version control 

[/Trading/SmartQuant/Releases] permanent link


2007 Apr 06 - Fri

SmartQuant QuantDeveloper & DataCenter Release

SmartQuant has released a revision to DataCenter and QuantDeveloper. DataCenter and QuantDeveloper are at the following revision levels:

DataCenter
Version 2.2.2 (04-Apr-2007)

QuantDeveloper Enterprise Edition
Version 2.5.2 (04-Apr-2007) 

QuantDeveloper Source Code
Version 2.5.1 (23-Mar-2007) 
* Recent Versions available through 
  version control 

[/Trading/SmartQuant/Releases] permanent link


2007 Apr 05 - Thu

Cisco's Embedded Event Manager

For a long time, certain of Cisco's routers had the ability to run tcl scripts, particularily routers with voip loads, in order to perform credit card billings for voip connection validations. To me, the tcl scripting was a black art and not well documented.

That has changed. The capability has now become officially and publically supported. It is now known as the Cisco Embedded Event Manager. Part of it is integrated into SLA functionality. This, for example, provides the ability to adjust routing and other configuration details on the fly depending upon reachability testing. That one example barely covers the surface of what can be done to dynamically and automatically alter a router's functioning parameters.

That, in itself, is a two edged sword. But with today's interconnected, converged, flexible networks, sometimes one needs a trick like that to make things happen.

Some URL's:

[/Cisco] permanent link


Trading Site of the Day -- Kirk Report: One Pro's View of the Stock Market

Charles E. Kirk is a trader who writes the The Kirk Report. The site is green, the color of money. On the serious side, he offers up daily market commentary on what has happened with the markets, what were the news affects, and offers up how his own portfolio is doing in the markets.

[/Trading/SiteOfTheDay/D200704] permanent link


2007 Apr 03 - Tue

Emulated Test Labs for Cisco Routing Gear

This is a two in one article actually. In a posting to today's cisco-nsp mailing list, Josh Horton provided a couple of links to his BlindHog Blog. His site has a wealth of good how-to articles for things routing and linux related. One entry that caught my eye was how to link router login AAA to a Microsoft IAS server. This basically does the job of a Tacacs server. Although it does the authentication and authorization, this Radius based authentication doesn't do the command logging that a Tacacs server can do. Even so, it is well worth a look. Other posts relate to ssh and some other router odds and sods.

The reason for his posting to the mail list was to advertise his wrapper for a Cisco router emulation engine at Dynagen. So for those studying for the CCNP exams and need a bunch of routers to check out OSPF, EIGRP, BGP and IGP, no need to spend thousands of dollars on real gear. Just get a recent IOS image and you can run multiple virtual routers all on your PC. The author says throughput is about 1kpps or so. But just to check out and test routing protocols with no sacrifice in command line options, this is an impressive capability.

[/Cisco] permanent link


2007 Apr 02 - Mon

Trading Sites of the Day -- ETFs, Day Trading, Short Time Periods

Yesterday I did a search with the keywords of 'active trader magazine scalp scalping'. The magazine, Active Trader Magazine, wasn't very high up in the results, mostly because they hide most of their content. I'm wondering if they would do better, not that I know if they are doing well or not, if they had a better indexable site. Even Stocks and Commodities Magazine has good teasers to get people interested in their content. But I digress.

Well, I'll stay digressed for a moment. In the recent issue of Stocks and Commodities, at the back of the issue, is an article describing the web site ETF Connect. I've linked to their education page. The web site is a good introductory source to Exchange Traded Funds, in their various incarnations.

Now that I've covered the interesting but unrelated, now I move back to the subject at hand, regarding short term trading, right down to scalping.

PowerZone Trading has a pdf called Trading with the High Performance Intraday Analysis Indicator Suite. The draw back with this document is that they couch all their setups in proprietary lingo. However, by reading between the terms, and reviewing the charts, there are some good points regarding trade setups that can be used. They allude to using multiple time-frames, which I wholly support. Near the end of the document, they go into some scalping setups that could prove to be useful. I'm in the process of writing an article in my Automated Trading Strategy section that goes more into what I've come to learn about scalping. To wrap up, the last page of the article references some of the author's other work in various periodicals. One ariticle that I do have is the August 2006 issue of Stocks and Commodities on page 34 regarding Intraday Market Forecasting. There is a good table in there regarding how to Guage Market Strength with INDU, COMPX, TRIN, and TICK. I think it is good enough to reproduce here because it solidifies what I've learned about these indicators elsewhere:

Market DirectionINDUCOMPXTRINTICK
High Reversal Probability  0.55 or lower1000 or higher
Extremely Bullishabove 75above 200.70 to 0.55600 to 1000
Bullish35 to 7515 to 200.85 to 0.70300 to 600
Neutral35 to -3515 to -151.00 to 0.85300 to -300
Bearish-35 to -75-15 to -201.15 to 1.00-300 to -600
Extremely Bearish-75 or lower-20 or lower1.30 to 1.15-600 to -1000
High Reversal Probability  1.30 or higher-1000 or lower

In an article at Stocks, Futures, and Options Magazine, there is an article called Precision Trading: Trading Shorter Time Frames Well Still Depends on Method and Psyche discusses various trading time frades, all the way from scalping, intraday trading, up to swing trading. It puts scalping into perspective as fast in out trades, almost without regards to trends and analysis of which other time periods make heavy use.

I've refered to the 1option site previously, but I've come across another article that serves to perpetuate some myths that appear to be prevalent about trading. There is an article called Can An Option Trader With A $100k Account Consistently Make $500 A Day?. In one portion of the article, the author makes mention of Warren Buffet, trading, and scalping in the same breath. I suppose among other things, Warren Bufffet traded. But I think for the most part, he specialized in buying under valued companies and turning them around. I suppose that's what you get when you trade enough stocks in a company to become a primary shareholder. So a trader in companies, maybe, to stretch the definition, or bend it somewhat. The author goes on to say that scalpers aren't rich. The counter argument for that would be BATS (the trading system the specializes in making big dollars in scalping), and Market Makers who make their money on spreads.

'Making their money on spreads'. I've finally clued in to that. Limit Orders and Spreads. Basically scalping. After two years of research, I think I've finally figured out how this stuff works, after spending a bunch of time spinning my wheels on bar analysis and technical analysis. So the thought is to make more than $500 a day on a $100,000 account. Yes it can be done. I'll go more into that in another article.

To finish off this page, I came across a Trading Tips page. At first, with their big Roman fonts and yellow highlighting, I didn't know how seriously to take this page. Well, I still take it with a grain of salt. But unlike most sites with yellow buy me now hilights, this actually offers up some value. There is an article called Making the Market. It, very cynically, but probably with much truth, discusses Market Makers and, as a side-benefit, discusses what scalping does and how to watch where it goes. Be aware that the article doesn't finish, but references a more complete article at traders101. And only on that link's last page does it go into self promotion. But you learn something along the way. And if you pay attention to pivots, support, resistance, and trading ranges, paying someone else for the service may not be necessary, other than to get you over the first few hurdles.

Also at TraderAide is an article called Markets in Profile. Coincidentily, I had made the purchase through Amazon before coming across that article. I'm not sure if the time frames discussed in the book cover the quick trades like scalping, but perhaps it might cover some of the things to keep a watch for in intraday type of trading.

I should have spread these treasures over several days, but I tend to loose my bookmarks if I don't deal with them right away. Happy reading.

[/Trading/SiteOfTheDay/D200704] permanent link


2007 Apr 01 - Sun

Stopping Screen Flicker in C#/.NET ListView Controls

The automated trading solution I'm building is starting out being a manual trading affair. I figure that once I can prove the algorithm manually, then I can probably cast the manual rules I use in stone and automate them. As such, I've been putting an user-interface into the software. Part of the interface uses a ListView. The only draw back to using this tool is the amount of flicker it presents.

A number of sites highly ranked on the search sites offer up solutions for resolving the Screen Flicker problem in C#/.NET v2.0 applications. None of them catch a key feature that makes it so simple (or at least it took me a whilei to catch on). Most of the solutions, such as the solution presented by c pound use the technique of inheriting from the basic ListView. Even that is a bit too much like work.

Franceso's Blog does a fairly large song and dance to resolve ListView screen flicker by manually copying stuff back and forth. Nope, that one isn't very good either.

An article called Painting Techniques using Windows Forms for the Microsoft .NET Framework shows up some good manaul ways of using double buffering to provide flicker free drawing. Another related background article is at Jeremy Kuhne's Blog. It offers up some good points, but still not the main point.

A related question at the The Scripts Developer Network was posted by a chap who, coincidentally, is doing some sort of stock ticker ap. The solution also references the technique of derivation and setting 'DoubleBuffered' to true. Nope, not quite what I was looking for. That article did point to a commercial grade ListView replacement called Glacial ListView. Looks good, but I'm looking for a free solution.

And the winner is: a page from the MSDN ControlStyles Enumeration. The secret ingredient for eliminating ListView Screen Flicker is to put the ControlStyle initialization flags in to the form's form_load override.

Here is a sample with all the test stuff in it:

    private void frmTradeFrame_Load( object sender, EventArgs e ) {

      this.SetStyle(
        //ControlStyles.UserPaint | 
        ControlStyles.AllPaintingInWmPaint |
        //ControlStyles.Opaque |
        ControlStyles.OptimizedDoubleBuffer,
        true);
      //this.DoubleBuffered = true;
      this.SetStyle(ControlStyles.EnableNotifyMessage, true);
      SetStyle(ControlStyles.ResizeRedraw, true);
    }

    protected override void OnNotifyMessage( Message m ) {
      if (m.Msg != 0x14) {
        base.OnNotifyMessage(m);
      }
    }

When I'm done, it should all boil down to this:

    private void frmTradeFrame_Load( object sender, EventArgs e ) {

      this.SetStyle(
        ControlStyles.AllPaintingInWmPaint |
        ControlStyles.OptimizedDoubleBuffer,
        true);
      SetStyle(ControlStyles.ResizeRedraw, true);
    }

Or maybe even this:

    private void frmTradeFrame_Load( object sender, EventArgs e ) {

      this.DoubleBuffered = true;
      }
    }

... since one of the documents I referenced indicated that DoubleBuffered sets those ControlStyles flags for you.

After all that ranting and raving, it didn't work. The following mods do. The key requirement is that you do have to override the ListView form, you can can't just override the containing form.

    public frmLV() {

      this.SetStyle(
        ControlStyles.AllPaintingInWmPaint |
        ControlStyles.Opaque |
        ControlStyles.OptimizedDoubleBuffer,
        true);
      this.SetStyle(ControlStyles.EnableNotifyMessage, true);
      SetStyle(ControlStyles.ResizeRedraw, true);
      SetStyle(ControlStyles.ResizeRedraw, true);
    }

    protected override void OnNotifyMessage( Message m ) {

      if (m.Msg == 0x14) m.Msg = 0x00;
      //if (m.Msg != 0x14) {
      base.OnNotifyMessage(m);
      //}
    }

The bonus feature that appears to reduce cpu utilization a bit is:

    // http://msdn.microsoft.com/msdnmag/issues/06/03/WindowsFormsPerformance/
   lvBook.Invalidate(lvi.GetBounds(ItemBoundsPortion.Entire),false);

If you've read this far, the simple solution to the problem, if you get to the low level code, according to a link at a Microsoft MSDN List is to "filter out the erase background message". Therefore, in the main draw code, one needs to paint the background text all in one fell swoop.

[/Trading/AutomatedTrading] permanent link


2007 Mar 30 - Fri

Fix in Autohandler for working with AuthNTLM

With testing at another customer site, I found that sometimes Apache2::AuthNTLM does not provide the username information when a web page has already been authenticated. Perhaps it might do it with every page if I turn off the 'cache' parameter in the return headers. Anyway, the new autohandler will rely on the session uuid to keep authorization going on pages which AuthNTLM does not return a username.

[/OpenSource/Debian/Monitoring] permanent link


2007 Mar 29 - Thu

Web Page Authorization with Perl and Mason

The monitoring server described in these various articles uses an Apache 2.0 based web server loaded with mod_perl and page templating language based upon mason. I'll put up on this site the other pages I have, but for the moment I just wanted to get the authentication stuff documented.

Authentication starts in /etc/apache2/sites-available/default with the following configuration:

        
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all

          PerlAuthenHandler OneUnified::AuthNTLM
          AuthType ntlm,basic
          AuthName domainname
          require valid-user

          PerlAddVar ntdomain "domainname globalcat1 globalcat2"

          PerlSetVar defaultdomain domainame
          PerlSetVar splitdomainprefix 1
          PerlSetVar ntlmdebug 0
          PerlSetVar ntlmauthoritative 0
#          PerlSetVar fallbackdomain fallbackdomain

        

In this configuration, you'll need to replace 'domainname'and 'globalcatx' with your netbios based domain name and global catalog server dns entries.

When running this security configuration, a web browser's security may need to be changed to make this a trusted site so that a user's ntlm security information will be exchanged.

AuthNTLM.pm is a wrapper around the CPAN perl module Apache2::AuthenNTLM. It pulls the username and domain information out and passes it along in the object's pnotes() method to the actual mason processing.

autohandler is mason's root file that is executed for every page serviced in a web site. As such, it can be used to perform page initialization, authentication, and authorization. It also holds the defaults for the pages of the site, and is used in an object oriented fashion to let other pages override the defaults. This particular one maintains session and user variables, and with some upcoming additions, will help to maintain session state. (You may need to use FireFox to download the file as Internet Explorer interprets the file for what it isn't.)

The autohandler file calls isADGroupMember.pm to perform the actual user and group authentication and authorization in Active Directory. The routine knows how to recursively search groups within groups.

The autohandler stores session variables in a PostgreSQL database with the following schema:

-- Table: users

-- DROP TABLE users;

CREATE TABLE users
(
  pkuserid character(36) NOT NULL, -- guid of user
  userdomain character varying(100) NOT NULL,
  authtype character varying(10) NOT NULL, -- ntlm, basic, ldap, db, builtin
  pwdclear character varying(20),
  pwdmd5 character varying(50),
  CONSTRAINT pk_users_pkuserid PRIMARY KEY (pkuserid)
)
WITHOUT OIDS;
ALTER TABLE users OWNER TO oneunified;
COMMENT ON TABLE users IS 'User list';
COMMENT ON COLUMN users.pkuserid IS 'guid of user';
COMMENT ON COLUMN users.authtype IS 'ntlm, basic, ldap, db, builtin';

-- Table: sessions

-- DROP TABLE sessions;

CREATE TABLE sessions
(
  pksessionid character(36) NOT NULL,
  fkuserid character(36) NOT NULL,
  ts timestamp without time zone NOT NULL,
  groupname character varying(50),
  grouppermission boolean,
  CONSTRAINT pk_sessions_pksessionid PRIMARY KEY (pksessionid),
  CONSTRAINT fk_users_pkuserid FOREIGN KEY (fkuserid)
      REFERENCES users (pkuserid) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION
)
WITHOUT OIDS;
ALTER TABLE sessions OWNER TO oneunified;
COMMENT ON TABLE sessions IS 'Contains active web sessions.';

-- Insert these default entries
insert into users ( pkuserid, userdomain, authtype, pwdclear )
  values ( 'admin', 'local', 'builtin', 'admin' );
insert into users ( pkuserid, userdomain, authtype, pwdclear )
  values ( 'guest', 'local', 'builtin', 'guest' );

[/OpenSource/Debian/Monitoring] permanent link


2007 Mar 28 - Wed

Trading Site of the Day -- Some Random Picks

Here are some notes and web locations I've come across that appear to be relevant to Active Day Traders and Automated Trading Strategies.

I've recently opened an account with Genesis Securities and have downloaded their Laser trading software. There is a great deal of trading flexibility in that software. It also introduces some trading subtlties I've not dealt with before. There is flexibility in which markets to which orders can be sent, and the types of orders to be sent.

Routing Guide is a useful guide to ECN's, what markets they cover, how to grade with them, and a few helpful hints on order placement.

Electronic Communication Network (ECN) are important sources of liquidity.

Here are some more articles from Answers.com on Scalping and Day Trading.

A forum post at Elite Trader mentioned Bull Investors. They have some various live feeds and intra-day trading notes.

An older ebook on Nasdaq trading.

ShortSqueeze

[/Trading/SiteOfTheDay/D200703] permanent link


2007 Mar 27 - Tue

Aging Concepts in Genetic Programming

I've used some Genetic Programming in the past to assist with some trading optimizations. As part of calculating the population of a new generation, I've used a concept of elitism to keep the best individuals propogating to new generations. Some researchers seem to think this is a good thing, where others think this is a bad thing. As there was no real consensus about this, I chose the side saying this is a good thing. Now that I've heard about a concept of being able to age individuals, perhaps I can modify how I build new populations somewhat.

[/Trading/AutomatedTrading] permanent link


2007 Mar 26 - Mon

Installation and Configuration of PGAdmin on Debian

A multiplatform GUI tool called pgAdmin is available for managing and querying PostgreSQL databases. It is available at www.pgadmin.org.

For Windows platforms, an executable installation program is available.

For Debian platforms, don't install the package from the Debian web site. Instead, through a little config file magic, a Debian package direct from pgAdmin can be installed.

First, you'll need to determine your nearest mirror. Choose a mirror, and past it in the following format into /etc/apt/sources.list:

deb [MIRROR URL]/pgadmin3/release/debian testing pgadmin

You should then be able to run the following commands to get it installed:

apt-get update
apt-get install pgadmin3 

You can start pgadmin through the command pgadmin3. In order to manage the database, you'll have to login first as postgres, or try this simple expedient (warning this is not very secure for your database). Place the following line into /etc/postgresql/7.4/main/pg_hba.conf:

host    all         postgres    127.0.0.1         255.255.255.255   trust

In pgadmin, you'll need to connect to the database. You can connect to a specific database through existing credentials, or if you are looking to create new databases, you should connect via the above credentials and connect to template1.

[/OpenSource/Debian] permanent link


2007 Mar 23 - Fri

Trading Site of the Day -- Day Trader's Bulletin

Although Day Trader's Bulletin looks like it hasn't been updated in a while, it still contains useful and timely information. For example, in my own research, I've discovered the use of the INDU and the TICK as useful bellweather's for day trading. Knowing What Indicators to Monitor goes into additional details of these indicators plus adds a few more, such as: SPX (S&P 500 Cash), Down Transports (TRAN), selected stock issues, and intraday highs and intraday lows. The article goes on for a few additional pages in review of other things to keep an eye out for.

Besides that one article, there are many more interesting ones. If you'd like them all in one document, you can download Tips, Tricks & Techniques for Daytraders.

[/Trading/SiteOfTheDay/D200703] permanent link


Genesis Securities on Elite Trader Chat Room

There is a chat log on Elite TRader where Serge Pustelnik discusses some background on Genesis Securities, Program Trading, and software development. Scalping techniques for out-scalping the computer are also discussed.

[/Trading/AutomatedTrading] permanent link


2007 Mar 22 - Thu

Junk is stuff you throw away. Stuff is junk you keep.

Seen on GrokLaw.

[/Personal/TagLines] permanent link


2007 Mar 21 - Wed

Peak Selection, Pivot Analysis, and Fibonacci

Sometimes it takes a while to realize that how various things work together. The light has dawned. I wrote some code to do peak detection a while ago. By using this tool over multiple time frames, and associating Fibonacci intervals on the advancing lines, one can automatically search out possible turning points. A CBOT article called Trading the CBOT mini-sized Dow - Master Technician Techniques provides the ground work for how this would be done from an analytical perspective. These possible Fibonacci turning points can be strengthened if some of them overlap calculated pivot points. Further strengthening is achieved if Fibonacci turning points occur at the same location over multiple time intervals. As the author, John Person, says in the article, "Combining Pivot Point numbers with the Fibonacci analysis we have a much better outlook and confirmation of Support and Resistance targets."

CBOT has some links to additional strategies.

In an article at National Futures, writes an additional article on Using pivot points to predetermine support and resistance price levels. He ties them in with the TRIN, TICK, and VIX indicators along with a reference to candlesticks.

[/Trading/SiteOfTheDay/D200703] permanent link


2007 Mar 20 - Tue

Connecting to Debian X Windows with Cygwin/X

On some of the monitoring servers I install, KDE is installed and running. For remote management, it is nice to connect to it remotely via Windows XP host. To do so, I did the following:

  • On the monitoring server, edited /etc/ssh/sshd_config, and changed X11Forwarding to yes. This is necessary for getting DISPLAY set properly.
  • Reload sshd after change in setting: /etc/init.d/ssh restart
  • Downloaded and installed Cygwin. During installation, I made sure that under the X11 heading, that the xorg-x11-base package was selected
  • Started Cygwin with the desktop icon
  • In my Cygwin home directory: cp /etc/X11/xinit/xinitrc .xinitrc
  • In my Cygwin home directory, Started the xwindows process with: startx
  • In the new GUI window, connect to the monitoring server with: ssh -Y -l username serverip
  • It is possible to run 'startkde' but on my setup, currently, it doesn't appear to work quite right, but I can run individual XWindows based programs by starting them with their command line names

vBulletin was helpful in troubleshooting some connectivity issues.

Government Security has some more info on Cygwin, X11 Forwarding, and SSH. The site was either copied to or from a Linux Journal article.

For using vnc and securely remoting vnc, Debian Administration is helpful.

[/OpenSource/Debian] permanent link


2007 Mar 19 - Mon

Be a Price Maker, Not a Price Taker

Benson Shapiro wrote an article at the Harvard Business School called commodity Busters: Be a Price Maker, Not a Price Taker. In the article, he very elegantly writes about the importance of differentiating oneself from the competition. Rather than competing head to head, it is wise to pick a niche and become a monopolist in ones own right.

He provides a series of steps for doing it right:

  • Create customer value
  • Choose your customers
  • Be different
  • keep it simple
  • Determine customer value
  • Deliver on your promise
  • Be courageous

[/Personal/Business] permanent link


Low Latency Data and Trades

SmartQuant was recently purchased by QuantHouse. Quanthouse provides low latency data and is using the SmartQuant framework in their product line.

That is all well and good, but if one has low latency data, one should have good executions as well, particularily if one is performing automated, high frequency trading. So what does one do: find a low latency data source and a separate excellent execution broker, or does one find a provider who can do both? I suppose there are organizations who only need the data side of things, but I'm looking for both data and execution.

I'm currently using IQFeed for data and Interactive Brokers for execution. I think I can do better than that. I'm currently looking at:

  • Genesis Securities: appear strong on equities but weak on futures coverage, and have a QuantDeveloper API
  • RedSky Financial: appear to be be strong on both futures and equities, but I don't think it has a QuantDeveloper API link (I'd have to write one)
  • Photon Trader: strong on futures, and may have a QuantDeveloper API link

[/Trading/AutomatedTrading] permanent link


2007 Mar 18 - Sun

New Cisco Voip Wiki

cisco-voip.org is community based self-help Wiki for users, buyers, installers, and troubleshooters of Cisco Voice products.

[/Cisco] permanent link


2007 Mar 17 - Sat

Futures Trading

This is a short entry with three links:

  • Forum focused on futures trading and eduation. The site is confusing as to what is advertising and what are menus. The advertising is at the top and sides, and the menu is at the bottom, for access to other locations of the site.
  • The Art of Day-Trading. A series of cobbled together articles on day trading, with a futures bent.
  • Interview with Paul Rotter. Probably the most interesting article of the blog 'I found my Holy Grail' is an interview with trader Paul Rotter and some background on scalping the markets.

[/Trading/SiteOfTheDay/D200703] permanent link


2007 Mar 16 - Fri

NetFilter Documentation, Tutorial and Pictures

The packet flow through netfilter has been a little hazy for me. Today I received enlightenment. Pablo Neira Ayuso has a paper called Towards 4th Generation Linux Firewalling Tools. On page 10 of that presentation is an excellent drawing of the iptables paths and what is performed in each path. It clearly shows PREROUTING, FORWARD, INPUT, OUTPUT, and POSTROUTING.

In the cross references on that page are a couple of good links:

While here, and on an unrelated topic, here is a Packet Shaping HOWTO. Now if I could just find a utility that can chart who is doing what with what protocol in real time. In isn't open source but later I did come across ObjectPlanent's Net Probe as something that could do the job.

Here are a few interesting commands to use when iptables is active:

  • cat /proc/net/dev
  • cat /proc/net/netstat
  • cat /proc/net/ip_conntrack
  • cat /proc/net/sockstat
  • iptables --list -v

A paper called Netfilter Performance Testing is a good one which discusses the testing of netfilter and the various tools employed to do so.

The NetFilter site is at www.netfilter.org. For monitoring connections conntrack, ulogd2, and libnetfilter_conntrack are projects to look at.

Intellos Network has a souped up Conntrack Viewer for 2.4 kernels. I wander if it will work on 2.6 kernels.

Some background information on network accounting with netfilter and userspace utilities.

[/OpenSource] permanent link


2007 Mar 15 - Thu

Implementing Live URL Tracking

To monitor browsing habits of company users, and to use the information for possible site blocking or traffic limiting with MasterShaper, URLSnarf along with a Perl script can be used to log specific items to a database and place the full capture results into a log file. The log file will be rotated with logrotate.

The Perl module Logfile::Access is key. On my machine it needed to be manually installed:

perl -MCPAN -eshell
  install Logfile::Access 
  # a missing file will be encountered
  exit
cd ~/.cpan/build/Logfile-Access-1.30/Access.pm
nano Access.pm 
  # change line 38 to '/etc/mime.types'
make 
make install

[/OpenSource/Debian/Monitoring] permanent link


Darvas Selections for 2007/03/15

Here are the selections for Thursday. These lists have the Darvas stop calculated in the second column.

Start: 2007-02-14
High: 2007-03-09
EOD: 2007-03-14
SymbolStop
BIG26.95
CYTC32.58
DLTR34.98
FAF51.45
LBTYA30.56
MAT27.47
MOS24.27
NRPH63.39
RRI17.74
SCI12.10
TRA15.88
VLO59.67

Start: 2007-02-14
High: 2007-03-08
EOD: 2007-03-14
SymbolStop
AXL25.99
DISH43.44
DLTR34.98
FAF51.45
HSY54.17
MAT27.47
MHS69.00
NRG65.24
PSS33.64
PWR23.94
SCI12.10
TRA15.88
VLO59.67

Start: 2007-02-14
High: 2007-03-07
EOD: 2007-03-14
SymbolStop
AXL25.99
BRCD9.47
DISH43.44
DLTR34.98
FAF51.45
GSS3.96
HSY54.17
PLL36.90
PWR23.94
VLO59.67

[/Trading/Darvas/D200703] permanent link


Darvas Results at EOD 2007/03/14 with EOD Signal of 2007/03/13

In comparison, the Dow Jones Industrial Index opened at 12074, had a higher high of 12142, had a lower low of 11939, and closed up for the day at 12133.

Symbol#OpenHighLowCloseStopO->HO->C
ARXX113.0313.0512.9512.9913.090.02-0.04
BRCD19.509.859.489.809.360.350.30
CF140.7241.3439.0640.6840.720.62-0.04
DISH242.7142.7841.8742.5043.440.07-0.21
DLTR235.7635.8535.0535.5634.980.09-0.20
FAF351.2051.7450.7651.5751.450.540.37
GSS13.974.053.793.993.960.080.02
HSY353.4053.6352.7553.4554.170.230.05
MAT127.4527.5627.0927.3627.470.11-0.09
MHS268.6569.3667.6768.9269.000.710.27
NRG168.3069.2267.8669.2165.240.920.91
PLL137.2737.7136.6137.2136.900.44-0.06
PSS133.4033.6331.8732.8533.640.23-0.55
PWR224.0124.4323.5624.3223.940.420.31
SCI112.1012.1711.8711.9612.100.07-0.14
TRA117.9218.3117.5617.9715.880.390.05
VLO260.2761.3560.0161.2759.671.081.00
17599.666.371.95

[/Trading/Darvas/D200703] permanent link


2007 Mar 14 - Wed

Sniffing, Security, Penetration Testing

For my reference, here is a compendium of interesting sites I encountered today:

[/OpenSource] permanent link


Tracking What Web Sites Users Visit

As part of the monitoring package, we are interested in recording which web sites that users are visiting. The first step is to capture the urls. The second step is to process and report the urls.

It took a while, but I came across DebianHelp. Among a bunch of other network diagnostic tools, it made mention of dsniff. It is a composition of the following tools:

urlsnarf was the tool for which I was looking. For usage, it does have a man page. The whole toolset can be installed with:

apt-get install dsniff

I now have urlsnarf logging to a file. I still need to do log rotation with it.

I am now looking at various ways to process the result. I was thinking of manually using Logfile::Access to parse the lines and put stuff into a database. Then I got to looking around at log file analyzers like visitors or awstats, but they don't provide a breakdown of sites by user. I think I'll roll my own with the perl library already mentioned.

[/OpenSource/Debian/Monitoring] permanent link


Driftnet: Watching Your Surfers

This tool puts a network interface into promiscuous mode and looks for image files. Any image files found are displayed as a continuously changing mosaic on the desktop. It has the ability to listen a tond keep mpeg and sound files as well.

On my monitoring server, I have eth1 connected to a switch spanned port which in turn listens on the internal firewall interface. This captures all the media files that users are bringing in from the internet.

Installation is easy:

apt-get install driftnet

To run is even easier:

driftnet -i eth1

Original files are found at Driftnet. This sites has other interesting software such as proxies, mail impersonators, visual formatting, graphics, and more.

I found this little treasure through a where some other nifty monitoring tools can be found.

[/OpenSource/Debian/Monitoring] permanent link


iftop: Display Bandwidth Usage on an Interface

iftop is an interesting command line utility for tracking traffic on an interface. tcpdump is good for looking at packet content in real time, this is good for looking at what makes up traffic bandwidth in realtime.

Installation is easy:

apt-get install iftop 

I have second interface on the monitoring server which is listening to what ever traffic passes in and out of the internal interface of the firewall. The switch port connecting to the firewall is 'span'd to the monitoring server's eth1. This allows one to monitor all components of inbound and outbound traffic.

Here is the command I used for looking at generating a bar chart of traffic details:

iftop -i eth1 -F 10.0.0.0/255.0.0.0 -P

The -F parameter provides an indication of what is internal traffic and what is external traffic. The -P parameter shows the ports in each flow. For run-time commands, take a look at 'man iftop'.

[/OpenSource/Debian/Monitoring] permanent link


Darvas Selections for 2007/03/14

Here are the selections for Wednesday. These lists have the Darvas stop calculated in the second column.

Start: 2007-02-13
High: 2007-03-08
EOD: 2007-03-13
SymbolStop
CF40.72
DISH43.44
DLTR34.98
FAF51.45
HSY54.17
MAT27.47
MHS69.00
NRG65.24
PSS33.64
PWR23.94
SCI12.10
TRA15.88
VLO59.67

Start: 2007-02-13
High: 2007-03-07
EOD: 2007-03-13
SymbolStop
ARXX13.09
BRCD9.36
DISH43.44
DLTR34.98
FAF51.45
GSS3.96
HSY54.17
PLL36.90
PWR23.94
VLO59.67

Start: 2007-02-13
High: 2007-03-06
EOD: 2007-03-13
SymbolStop
FAF51.45
HSY54.17
MHS69.00

[/Trading/Darvas/D200703] permanent link


Darvas Results at EOD 2007/03/13 with EOD Signal of 2007/03/12

In comparison, the Dow Jones Industrial Index opened at 12307, had a lower high of 12307, had a lower low of 12071, and closed down for the day at 12075.

Symbol#OpenHighLowCloseStopO->HO->C
ARXX213.0813.1413.0213.0212.990.06-0.06
BRCD29.619.949.549.559.360.33-0.06
DISH144.1044.2642.9042.9343.440.16-1.17
DLTR136.8236.8235.8235.8434.980.00-0.98
FAF251.9952.0151.1551.5851.450.02-0.41
GSS14.254.304.004.053.960.05-0.20
HSY254.4554.5853.3953.4154.170.13-1.04
MHS169.5069.6868.2668.3969.000.18-1.11
PLL137.7337.8537.1137.1436.900.12-0.59
PWR124.2224.3023.8723.9523.940.08-0.27
VLO160.4861.4759.8560.1959.670.99-0.29
11369.412.12-6.18

[/Trading/Darvas/D200703] permanent link


2007 Mar 13 - Tue

Darvas Selections for 2007/03/13

Here are the selections for Tuesday. These lists have the Darvas stop calculated in the second column.

Start: 2007-02-12
High: 2007-03-07
EOD: 2007-03-12
SymbolStop
ARXX12.99
BRCD9.36
DISH43.44
DLTR34.98
FAF51.45
GSS3.96
HSY54.17
PLL36.90
PWR23.94
VLO59.67

Start: 2007-02-12
High: 2007-03-06
EOD: 2007-03-12
SymbolStop
FAF51.45
HSY54.17
MHS69.00

Start: 2007-02-12
High: 2007-03-05
EOD: 2007-03-12
SymbolStop
ARXX12.99
BRCD9.36

[/Trading/Darvas/D200703] permanent link


Darvas Results at EOD 2007/03/12 with EOD Signal of 2007/03/09

In comparison, the Dow Jones Industrial Index opened at 12275, had a higher high of 12349, had a higher low of 12246, and closed up for the day at 12318.

The equity curve for today's Darvas ended up down rather than up, even though the Dow was up marginally.

Symbol#OpenHighLowCloseStopO->HO->C
ARXX113.0713.1513.0713.0713.070.080.00
BRCD19.559.779.509.679.360.220.12
CECO129.7530.2929.7030.0029.850.540.25
FAF151.9852.4851.7652.1651.450.500.18
GT328.7029.2528.5628.9827.900.550.28
HLIT110.3211.0710.3211.0210.050.750.70
HSY154.5754.8054.3054.5154.170.23-0.06
MHS168.2870.1868.2869.7057.931.901.42
OSI139.7639.8939.6539.7340.080.13-0.03
PALM117.1017.4116.8817.3116.550.310.21
10323.085.213.07

[/Trading/Darvas/D200703] permanent link


2007 Mar 12 - Mon

Trading Site of the Day -- C(omp)++ : A Portal for the Computational Finance Community

John Wiley and Sons, the book publishers, have a 'Collective Knowledge Portal' called C(comp)++.

This is a relatively new site with content just getting started. So far, content includes a discussion learning C++, some comments relating C++ and C#, some background on estimation, plus recent remarks on confidence intervals (or standard deviation of a standard deviation).

[/Trading/SiteOfTheDay/D200703] permanent link


Darvas Selections for 2007/03/12

Here are the selections for Monday. These lists have the Darvas stop calculated in the second column.

Start: 2007-02-09
High: 2007-03-06
EOD: 2007-03-09
SymbolStop
FAF51.45
GT27.90
HSY54.17
MHS57.93

Start: 2007-02-09
High: 2007-03-05
EOD: 2007-03-09
SymbolStop
ARXX13.07
BRCD9.36
GT27.90

Start: 2007-02-09
High: 2007-03-02
EOD: 2007-03-09
SymbolStop
CECO29.85
GT27.90
HLIT10.05
OSI40.08
PALM16.55

[/Trading/Darvas/D200703] permanent link


Darvas Results at EOD 2007/03/09 with EOD Signal of 2007/03/08

In comparison, the Dow Jones Industrial Index opened at 12262, had a higher high of 12330, had a higher low of 12228, and closed up for the day at 12276.

The equity curve for today's Darvas ended up down rather than up, even though the Dow was up marginally. For my own trading, I added Thursday's symbols to Friday's symbols. ON that group, overall, I ended up even for the day. I did see some opportunities to take some profit, but left things in place instead. I think, on this set of stocks, day trading might be more profitable: getting out when some good dollars have accumulated, waiting for the Dow to find a low, and then getting in again.

Symbol#OpenHighLowCloseStopO->HO->C
ARXX113.1613.2013.0413.0513.070.04-0.11
BRCD19.729.759.479.569.360.03-0.16
CECO129.9930.0029.6129.7129.850.01-0.28
GT329.2729.2728.2328.5127.900.00-0.76
HLIT210.5810.7010.1510.3610.070.12-0.22
HYSL151.6051.6751.5851.5951.500.07-0.01
OSI139.9439.9439.6539.8340.080.00-0.11
PALM117.2117.5116.8317.1216.550.30-0.09
STTS111.8611.9411.8511.9111.590.080.05
9144.120.65-1.69

[/Trading/Darvas/D200703] permanent link


Trading Site of the Day -- Trading Machines: Electronic and Automated Trading

Trading Machines has a directory of electronic and automated trading links. The topics covered include:

  • Brokers (which have trading API's)
  • Forums
  • Coding Sites
  • Data Sources
  • Data Sources
  • FIX
  • Automation Software
  • Analysis Software
  • Software Components
  • Maths and Models (excellent sites here)
  • Risk and Reliability

[/Trading/SiteOfTheDay/D200703] permanent link


2007 Mar 10 - Sat

Trading Site of the Day -- Trader's Roundtable: A forum for mechanical system traders

Trading Blox hosts the Trader's Roundtable which is a forum devoted to the discussion of mechanical trading systems and related topics.

I consider it a good source of vendor independent trading methods and concepts. Participants do talk about specific vendors though.

The site is rich in content. One just has to look for it. The site has topics covering things like:

  • Market Psychology
  • Trader Psychology
  • Testing and Simulation
  • Money Management
  • Trend Indicators and Signals
  • Commercial and Public Domain Systems
  • Turtle Trading
  • Short term and Day Trading Systems
  • Books, Courses, and Seminars
  • Pro Trading
  • Trading for a Living
  • Software
  • Brokers and Markets

[/Trading/SiteOfTheDay/D200703] permanent link


2007 Mar 09 - Fri

Darvas Selections for 2007/03/09

Here are the selections for Friday. These lists have the Darvas stop calculated in the second column.

Start: 2007-02-08
High: 2007-03-05
EOD: 2007-03-08
SymbolStop
ARXX13.07
BRCD9.36
GT27.90

Start: 2007-02-08
High: 2007-03-02
EOD: 2007-03-08
SymbolStop
CECO29.85
GT27.90
HLIT10.07
OSI40.08
PALM16.55

Start: 2007-02-08
High: 2007-03-01
EOD: 2007-03-08
SymbolStop
GT27.90
HLIT10.07
HYSL51.50
STTS11.59

[/Trading/Darvas/D200703] permanent link


Darvas Results at EOD 2007/03/08 with EOD Signal of 2007/03/07

In comparison, the Dow Jones Industrial Index opened at 12193, had a higher high of 12303, had a higher low of 12193, and closed up for the day at 12260.

The equity curve for Darvas follows the Dow directionally quite closely.

Symbol#OpenHighLowCloseStopO->HO->C
ABT152.6953.5752.3853.4054.280.880.71
AKS122.6822.9822.2622.4322.030.30-0.25
CECO129.9530.1929.6629.6829.850.24-0.27
DF146.3046.5046.0246.3346.030.200.03
GT229.1129.6128.7028.8627.900.50-0.25
HLIT210.0010.5010.0010.439.360.500.43
HSP139.9940.2539.8440.2138.410.260.22
HYSL151.5551.5951.5251.5451.500.04-0.01
NXL133.2533.3433.2333.3033.100.090.05
OSI139.9539.9839.6039.7540.080.03-0.20
PALM217.4317.6417.1217.1516.550.21-0.28
STTS111.8811.9211.8811.9010.650.040.02
12384.783.290.20

[/Trading/Darvas/D200703] permanent link


2007 Mar 08 - Thu

Perl Based Active Directory Authentication and Authorization

Most of the customers in which I install the monitoring server have an Active Directory based organization. As such, the best mechanism for authenticating users onto the web pages of the monitoring server is to check that they are valid members of an active directory domain. Authorization to certain specific pages of the monitoring server can then be authorized through group membership.

isADGroupMember.pm is a Perl Module designed to authorize a user through Active Directory group membership. It performs a recursive group lookup to ensure the user is somewhere in the hierarchy. It returns a 1 if the user is found in a group, and 0 if no match is found.

You'll need to update four search parameters at the top of the module in order to work with your Active Directory Organization. There is a base search path to act as the root of the search. A user name and password are required for gaining access to Active Directory. This will require appropriate rights to perform it search. There is a bind address used for connecting to a global catalog server, which can be an ip address or a fqdn.

The user name will be a SAMAccount formatted name. The same for the group name. Each are expanded out to their respective DistinguishedNames, which are then used for matching purposes.

The AuthNTLM module can be used for automatically supplying the user name used in the lookup. In the solution I'm building, AuthNTLM will take the user name it automatically obtained from the browser session and place it into a session record in a database. Mason's autohandler will then pull out the username when it pulls session information and then use isADGroupMember to authorize access to any given web page.

[/OpenSource/Debian/Monitoring] permanent link


Darvas Selections for 2007/03/08

Here are the selections for Thursday. These lists have the Darvas stop calculated in the second column.

Start: 2007-02-07
High: 2007-03-02
EOD: 2007-03-07
SymbolStop
CECO29.85
DF46.03
GT27.90
HLIT9.36
OSI40.08
PALM16.55

Start: 2007-02-07
High: 2007-03-01
EOD: 2007-03-07
SymbolStop
GT27.90
HLIT9.36
HYSL51.50
STTS10.65

Start: 2007-02-07
High: 2007-02-28
EOD: 2007-03-07
SymbolStop
ABT54.28
AKS22.03
HSP38.41
NXL33.10
PALM16.55

[/Trading/Darvas/D200703] permanent link



Darvas Results at EOD 2007/03/07 with EOD Signal of 2007/03/06

In comparison, the Dow Jones Industrial Index opened at 12204, had a higher high of 12256, had a higher low of 12178, and closed down for the day at 12192.

The equity curve for Darvas follows the Dow directionally quite closely.

Symbol#OpenHighLowCloseStopO->HO->C
ABT252.6552.9952.5552.6954.280.340.04
AKS122.2322.7422.0522.1622.030.51-0.07
BRCD19.779.969.589.609.360.19-0.17
CECO130.1230.2429.9129.9629.850.12-0.16
CMS117.1317.4017.0717.1817.020.270.05
GT128.4028.8828.3028.4827.900.480.08
HLIT19.629.919.589.869.360.290.24
HSP138.9539.9238.7539.9038.410.970.95
HYSL151.5251.5651.5151.5548.900.040.03
NXL133.1933.1933.1433.1533.100.00-0.04
PALM117.1617.5017.0817.2716.550.340.11
RSH125.4425.7625.2925.4624.800.320.02
STTS111.8211.9011.8011.8910.650.080.07
WY184.5084.9683.1084.1583.500.46-0.35
14399.314.410.80

[/Trading/Darvas/D200703] permanent link


2007 Mar 07 - Wed

Darvas Selections for 2007/03/0

Here are the selections for Wednesday. These lists have the Darvas stop calculated in the second column.

Start: 2007-02-06
High: 2007-03-01
EOD: 2007-03-06
SymbolStop
GT27.90
HLIT9.36
HYSL48.90
STTS10.65

Start: 2007-02-06
High: 2007-02-28
EOD: 2007-03-06
SymbolStop
ABT54.28
AKS22.03
HSP38.41
NXL33.10
PALM16.55

Start: 2007-02-06
High: 2007-02-27
EOD: 2007-03-06
SymbolStop
ABT54.28
BRCD9.36
CECO29.85
CMS17.02
RSH24.80
WY83.50

[/Trading/Darvas/D200703] permanent link


Darvas Results at EOD 2007/03/06 with EOD Signal of 2007/03/05

In comparison, the Dow Jones Industrial Index opened at 12051, had a higher high of 12224, had a higher low of 12050, and closed up for the day at 12207.

The equity curve for Darvas follows the Dow directionally quite closely.

Symbol#OpenHighLowCloseStopO->HO->C
ABT353.0053.0852.3752.8754.280.08-0.13
ADP148.7248.9448.3848.8050.330.220.08
AEP144.7045.5044.3845.3345.370.800.63
AHG130.5531.0030.0130.5931.110.450.04
AKS121.7922.4121.6022.2122.030.620.42
AMCC13.603.733.583.673.680.130.07
AXL123.7524.3723.4724.2525.820.620.50
BDN134.3234.7834.1034.3634.020.460.04
BRCD19.639.839.539.809.360.200.17
CECO129.7830.2329.4130.0929.850.450.31
CEG176.7578.2176.4078.2177.421.461.46
CERN151.8152.2051.3052.1253.550.390.31
CMS216.8617.2516.8217.2017.020.390.34
CNP117.0917.5017.0517.4118.310.410.32
CTV137.7039.0037.2838.7136.911.301.01
D184.1284.7583.9984.6884.700.630.56
DYN18.018.237.928.237.750.220.22
ED147.7348.3047.4648.1749.250.570.44
EIX147.7348.6747.6048.3746.190.940.64
EQ151.4752.5150.9552.3557.051.040.88
ESLR19.399.829.399.7910.680.430.40
FE161.3062.1861.2661.9564.350.880.65
GILD170.3571.2269.5970.7273.250.870.37
HES151.0051.5750.6051.5055.060.570.50
HSP138.9639.4538.8038.9538.450.49-0.01
IR142.4843.2042.3242.9943.810.720.51
KLAC151.7351.7450.8051.1553.650.01-0.58
LLTC132.2032.4331.9332.3333.640.230.13
NBL157.1758.0357.0458.0257.060.860.85
NRG167.2568.4167.0667.9365.791.160.68
NSM125.1725.3724.8324.9525.580.20-0.22
NTES119.4119.8919.3819.8420.600.480.43
NVTL213.4713.9913.4713.9712.800.520.50
NXL133.1333.2333.1233.1432.140.100.01
ONNN19.509.789.409.7510.680.280.25
PAAS127.1027.9827.0327.8731.520.880.77
PALM116.9017.3916.8517.3116.550.490.41
PAYX139.4240.0839.3339.8441.930.660.42
PD1123.02124.59123.02124.38126.951.571.36
PPL137.3537.9137.2637.8638.170.560.51
RIMM1137.10137.74135.23135.60139.740.64-1.50
RRC130.2530.6029.8830.2531.250.350.00
RRI117.0917.1616.9316.9617.060.07-0.13
RSH124.7825.5724.5325.4524.800.790.67
SONS16.897.096.796.987.230.200.09
STM118.8418.8918.6118.7919.920.05-0.05
STP135.0835.9234.8735.7636.700.840.68
USG152.0452.5551.1151.7157.740.51-0.33
USU113.5114.3613.4914.2514.980.850.74
VSEA146.8448.1846.7947.7047.221.340.86
WY285.3086.6585.0186.2083.501.350.90
WYN134.0734.5933.9634.3835.100.520.31
XLU137.8238.1337.6738.1339.170.310.31
532105.0231.1618.80

[/Trading/Darvas/D200703] permanent link


2007 Mar 06 - Tue

Darvas Selections for 2007/03/06

Here are the selections for Tuesday. These lists have the Darvas stop calculated in the second column.

Start: 2007-02-05
High: 2007-02-28
EOD: 2007-03-05
SymbolStop
ABT54.28
AKS22.03
HSP38.45
NVTL12.80
NXL32.14
PALM16.55

Start: 2007-02-05
High: 2007-02-27
EOD: 2007-03-05
SymbolStop
ABT54.28
BRCD9.36
CECO29.85
CMS17.02
RSH24.80
WY83.50

Start: 2007-02-05
High: 2007-02-26
EOD: 2007-03-05
SymbolStop
ABT54.28
ADP50.33
AEP45.37
AHG31.11
AMCC3.68
AXL25.82
BDN34.02
BGO6.20
CEG77.42
CERN53.55
CMS17.02
CNP18.31
CTV36.91
D84.70
DYN7.75
ED49.25
EIX46.19
EQ57.05
ESLR10.68
FE64.35
GILD73.25
HES55.06
IR43.81
KLAC53.65
LLTC33.64
NBL57.06
NRG65.79
NSM25.58
NTES20.60
NVTL12.80
ONNN10.68
PAAS31.52
PAYX41.93
PD126.95
PPL38.17
RIMM139.74
RRC31.25
RRI17.06
SONS7.23
STM19.92
STP36.70
USG57.74
USU14.98
VSEA47.22
WY83.50
WYN35.10
XLU39.17

[/Trading/Darvas/D200703] permanent link


Darvas Results at EOD 2007/03/05 with EOD Signal of 2007/03/02

In comparison, the Dow Jones Industrial Index opened at 12111, had a lower high of 12188, had a lower low of 12039, and closed down for the day at 12050.

The Dow did a fine job of going up and down over the course of the day. It did finally end down for the day.

The results, as shown below, indicated a slightly negative exit for the day. The equity curve followed the Dow reasonably well. So, if we had mostly negative sentiment for the day, getting out around 10:20 or 11:20 would have been good calls for a positive return.

Symbol#OpenHighLowCloseStopO->HO->C
ABT252.8053.5952.7252.7554.280.79-0.05
ADI135.0035.9934.9135.1036.640.990.10
ADP148.0048.8947.8048.4750.330.890.47
AEP144.8744.9544.2844.3045.370.08-0.57
ALTR120.1120.3919.8719.8721.480.28-0.24
AMCC13.573.643.483.533.680.07-0.04
ATI195.5097.4294.3794.44104.001.92-1.06
AUY113.2413.5212.6012.8615.250.28-0.38
AXL223.3823.9023.1323.5825.820.520.20
BBBY139.3439.5039.0539.1342.340.16-0.21
BBI16.456.556.276.306.910.10-0.15
BDN134.4234.5733.5333.5334.020.15-0.89
BRCD18.949.958.849.448.831.010.50
CECO229.9930.3129.4029.7329.850.32-0.26
CEG177.5677.8576.5176.5177.420.29-1.05
CERN250.3451.8749.7551.0953.281.530.75
CF135.9938.3135.0237.2038.112.321.21
CMS216.8517.1716.8116.8617.020.320.01
CNP117.4017.4017.0717.0918.310.00-0.31
D184.7385.0083.7183.8284.700.27-0.91
ED247.9448.0147.4747.5649.250.07-0.38
EQ253.3953.3951.0051.3657.050.00-2.03
ESLR19.129.409.099.2610.680.280.14
FE161.2062.0760.8561.2064.350.870.00
GILD169.7571.4169.3369.9973.251.660.24
HES249.5051.1549.0550.5255.061.651.02
HL17.457.687.187.448.400.23-0.01
IR241.7642.7541.6642.1844.000.990.42
JOYG141.5342.3440.3641.4352.940.81-0.10
KLAC249.8851.9849.7551.1353.652.101.25
LLTC231.9432.4731.7131.7533.640.53-0.19
LYO130.4331.0430.4130.4832.200.610.05
NBL256.2057.0856.0456.7157.060.880.51
NRG267.2068.0666.6267.0165.790.86-0.19
NSM124.6025.2924.4024.8925.580.690.29
NTES119.7519.7619.0619.1320.600.01-0.62
NVTL213.1913.4613.0713.3312.800.270.14
NYB116.5416.7616.5016.5917.350.220.05
ONNN29.389.749.199.2110.460.36-0.17
PAAS226.1627.5626.0026.4331.521.400.27
PAYX239.1539.8738.9339.5041.930.720.35
PD2122.43123.47121.75122.29126.951.04-0.14
PENN145.0246.0744.6644.6644.241.05-0.36
PPL237.5737.7537.1937.2338.170.18-0.34
PWR222.0122.4021.6521.6723.310.39-0.34
RIMM1131.70136.44131.18134.52139.744.742.82
RRC230.5730.9529.7629.7631.250.38-0.81
RRI117.0817.2016.8616.8717.060.12-0.21
RSH124.3524.7024.0424.4224.800.350.07
SIRF127.3228.3027.1027.4331.700.980.11
SONS17.167.186.636.677.230.02-0.49
STM218.4218.7918.4118.4919.920.370.07
STP132.4534.4432.4533.8836.701.991.43
TSM19.9010.469.8010.1111.300.560.21
USG152.1252.5551.3351.4857.740.43-0.64
USU213.4013.8513.1413.2414.980.45-0.16
VSEA145.4247.3745.2046.2047.221.950.78
WYN234.4534.5033.8233.8635.100.05-0.59
XLU237.9138.2137.4737.5739.170.30-0.34
592143.0342.85-0.77

[/Trading/Darvas/D200703] permanent link


2007 Mar 04 - Sun

Trading Site of the Day -- Option Strategies: Profits in a Consistent Universe

I havn't tried the strategy myself, but the Option Strategies offers up simple options transactions with guaranteed results each month. They use a set of 13 underlying instruments and offer up various options trades for this set of symbols. In their historical profiles, some months are not traded, but for the months that are traded, things seem to be profitable. They offer up their system for a one time fee of $999. Any one tried them out?

[/Trading/SiteOfTheDay/D200703] permanent link


Darvas Selections for 2007/03/05

Here are the selections for Monday. These lists have the Darvas stop calculated in the second column.

Start: 2007-02-02
High: 2007-02-27
EOD: 2007-03-02
SymbolStop
ABT54.28
BRCD8.83
CECO29.85
CMS17.02
RSH24.80

Start: 2007-02-02
High: 2007-02-26
EOD: 2007-03-02
SymbolStop
ABT54.28
ADP50.33
AEP45.37
AMCC3.68
AXL25.82
BDN34.02
BGO6.20
CEG77.42
CERN53.28
CMS17.02
CNP18.31
D84.70
ED49.25
EQ57.05
ESLR10.68
FE64.35
GILD73.25
HES55.06
IR44.00
KLAC53.65
LLTC33.64
LYO32.20
NBL57.06
NRG65.79
NSM25.58
NTES20.60
NVTL12.80
ONNN10.46
PAAS31.52
PAYX41.93
PD126.95
PPL38.17
PWR23.31
RIMM139.74
RRC31.25
RRI17.06
SONS7.23
STM19.92
STP36.70
USG57.74
USU14.98
VSEA47.22
WYN35.10
XLU39.17

Start: 2007-02-02
High: 2007-02-23
EOD: 2007-03-02
SymbolStop
ADI36.64
ALTR21.48
ATI104.00
AUY15.25
AXL25.82
BBBY42.34
BBI6.91
BGO6.20
CECO29.85
CERN53.28
CF38.11
ED49.25
EQ57.05
HES55.06
HL8.40
IR44.00
JOYG52.94
KLAC53.65
LLTC33.64
NBL57.06
NRG65.79
NVTL12.80
NYB17.35
ONNN10.46
PAAS31.52
PAYX41.93
PD126.95
PENN44.24
PPL38.17
PWR23.31
RRC31.25
SIRF31.70
STM19.92
TSM11.30
USU14.98
WYN35.10
XLU39.17

[/Trading/Darvas/D200703] permanent link


SmartQuant QuantDeveloper & DataCenter Release

SmartQuant has released a revision to DataCenter and QuantDeveloper. DataCenter and QuantDeveloper are at the following revision levels:

DataCenter
Version 2.1.7 (01-Mar-2007) 

QuantDeveloper Enterprise Edition
Version 2.4.4 (28-Feb-2007) 

[/Trading/SmartQuant/Releases] permanent link


2007 Mar 03 - Sat

Apache Web Page NTLM Authentication

In continuation of a previous article regarding NTLM authentication and authorization of web pages on an Apache Web Server, I've made some progress with integration.

The web server will now automatically accept MS IE users with passthrough authentication so they are automatically authenticated to view web server pages. Well... users who are hardcoded currently. All other users are rejected.

I used the perl module Apache2::AuthenNTLM from CPAN, and wrapped a module called OneUnified::AuthNTLM around it to obtain some hooks into the original module's operation.

Here is the code I inserted into /etc/apache2/sites-enabled/000-default in order to activate the module:

        
          PerlAuthenHandler OneUnified::AuthNTLM
          AuthType ntlm,basic
          AuthName ntdomainname
          require valid-user

          PerlAddVar ntdomain "ntdomainname globalcat1 globalcat2"

          PerlSetVar defaultdomain ntdomainname
          PerlSetVar splitdomainprefix 1
          PerlSetVar ntlmdebug 0
          PerlSetVar ntlmauthoritative 0
#          PerlSetVar fallbackdomain fallbackdomain
        

I originally used the fallbackdomain to invoke a secondary login prompt for non domain members, but it appears to lock the module up for some reason. It is commented out for the time being.

For now, OneUnified::AuthNTLM overrides the verify_user subroutine and manually accepts certain userid's. The next step will be to incorporate the group look up code.

Not all of them are used at the moment, but here are some Perl modules for use with session management. They go into the /usr/local/lib/site_perl/OneUnified directory.

  • AuthNTLM.pm: wrapper around Apache2::AuthenNTLM
  • Const.pm: used in the Mason autohandler file (to be introduced later).
  • Session.pm: will handle session management stuff
  • ValidateFields.pm: some web form validation checks
  • ou.sql: latest database schema for various things, including session management and the ciscowatcher.pl script

[/OpenSource/Debian/Monitoring] permanent link


Darvas Results at EOD 2007/03/02 with EOD Signal of 2007/03/01

In comparison, the Dow Jones Industrial Index opened at 12233, had a lower high of 12247, had a higher low of 12107, and closed down for the day at 12114.

Symbol#OpenHighLowCloseStopO->HO->C
ABT153.5353.6552.5853.0154.280.12-0.52
ADI236.1536.3735.1835.3536.640.22-0.80
ADP149.7649.7648.6848.6850.330.00-1.08
AEP145.3845.5944.8544.8745.370.21-0.51
AKS122.9023.2021.3021.7922.030.30-1.11
ALTR220.4820.6820.2120.2621.480.20-0.22
AMCC13.713.773.573.633.680.06-0.08
AMKR111.7211.8311.3111.3212.040.11-0.40
ATHR124.7925.2024.0824.3126.710.41-0.48
ATI2100.00101.4895.9597.06104.511.48-2.94
AUY213.8414.1013.3913.7715.250.26-0.07
AXL224.3024.3223.6423.6525.820.02-0.65
BBBY139.7540.1839.5039.5542.540.43-0.20
BBI16.776.866.506.526.910.09-0.25
BDN135.0135.1634.5634.5634.020.15-0.45
BG179.6079.6076.8176.9784.030.00-2.63
BNI178.4878.9877.4077.5384.570.50-0.95
CA125.8625.8625.4725.4925.450.00-0.37
CECO129.7931.8529.7930.2529.852.060.46
CEG179.0979.0977.7977.8177.420.00-1.28
CERN352.0052.0750.6750.6753.280.07-1.33
CF237.6038.4336.2036.5638.110.83-1.04
CHL145.4346.2744.8745.0049.570.84-0.43
CMS117.3517.3617.0417.0717.020.01-0.28
CNP217.1517.6317.0317.5018.310.480.35
CTSH188.4588.9386.9286.9391.000.48-1.52
D185.4585.6885.0085.0084.700.23-0.45
DD250.7950.9549.8350.0952.950.16-0.70
ED348.6048.6348.0648.0849.250.03-0.52
EQ254.8955.0653.3453.3957.050.17-1.50
ESLR19.749.909.359.4110.680.16-0.33
FAF147.2248.2746.9647.8246.701.050.60
FE162.5062.5961.6561.6564.350.09-0.85
GILD270.3571.5069.7670.4473.251.150.09
GS1198.20200.92195.59195.67219.262.72-2.53
GT126.1627.8826.0327.1925.851.721.03
HES252.9753.2951.1151.4255.060.32-1.55
HL27.787.937.507.568.400.15-0.22
HLT134.1535.4634.1534.6935.841.310.54
HLTH114.7214.8114.5714.6015.480.09-0.12
IR343.0843.3542.4342.6144.000.27-0.47
JBHT126.3026.4025.8025.8127.480.10-0.49
JOYG243.2543.3642.4042.4052.940.11-0.85
KLAC250.5051.1649.5149.9153.650.66-0.59
LLTC232.8132.9432.0832.0833.640.13-0.73
LM1101.88103.1299.4399.43109.031.24-2.45
LWSN17.677.887.677.758.440.210.08
LYO131.8432.0030.7031.0532.480.16-0.79
MET162.9563.1262.1762.4865.790.17-0.47
MHS168.1668.4766.6366.6367.570.31-1.53
NBL357.0357.7856.8957.3857.060.750.35
NIHD169.9970.4869.1569.3170.540.49-0.68
NRG367.1868.4067.1267.4265.791.220.24
NSM125.2025.4724.7724.9625.580.27-0.24
NTES220.0720.4819.7619.9120.600.41-0.16
NVTL213.1213.4413.1013.3312.800.320.21
NYB216.9416.9916.7516.7717.350.05-0.17
OMC1103.33103.90102.62103.12100.610.57-0.21
OMX150.9051.0049.9850.2451.850.10-0.66
ONNN39.689.879.419.4910.460.19-0.19
PAAS327.5428.4826.7526.9731.520.94-0.57
PAYX239.6439.7039.1339.1641.930.06-0.48
PD3124.01124.80123.05123.05124.400.79-0.96
PENN245.5046.1345.3445.6642.950.630.16
PMTC118.8819.0118.4918.6020.180.13-0.28
POT1152.50155.45147.93148.28161.002.95-4.22
PPL238.3338.4537.8537.8538.170.12-0.48
PWR323.3123.4322.3622.3823.310.12-0.93
PX260.9861.3660.4060.5664.200.38-0.42
RIMM1139.94141.31135.96135.97139.741.37-3.97
RIO133.4133.6432.3232.7036.680.23-0.71
RRC332.0032.1131.3031.3131.250.11-0.69
RRI117.2117.4217.1217.1717.060.21-0.04
RYI133.8136.8933.7135.4334.013.081.62
SCUR18.258.458.058.129.350.20-0.13
SHLD1174.89181.15174.89177.10187.276.262.21
SIRF127.9628.5527.5628.0231.700.590.06
SONS17.407.467.147.337.230.06-0.07
STM318.9319.0018.6918.7019.920.07-0.23
STP135.7536.4734.5234.6336.700.72-1.12
SYK161.2861.6560.6761.0063.500.37-0.28
TEVA134.8135.1734.6834.7037.760.36-0.11
TRA116.9817.1016.4316.6517.700.12-0.33
TSM210.9310.9510.6410.6411.300.02-0.29
UIS18.378.438.238.288.920.06-0.09
USG153.4053.7852.7352.8257.740.38-0.58
USU314.2214.3313.8713.9014.980.11-0.32
VSEA147.0847.9546.2446.2947.220.87-0.79
WIN114.8514.8914.3214.3815.100.04-0.47
WYN234.9035.2734.7534.7735.100.37-0.13
XL169.9070.2269.3369.6973.990.32-0.21
XLU238.6438.6438.0538.0539.170.00-0.59
YRCW143.3843.3841.8442.0642.920.00-1.32
933896.9448.45-51.85

[/Trading/Darvas/D200703] permanent link


2007 Mar 02 - Fri

Installing Netflow Tool: nfsen

nfsen is companion tool to nfdump. Where nfdump handles the capture and writing to disk of netflow records, nfsen takes the captured files and makes the data available through a web interface.

To install, download and expand the latest snapshot (be sure the nfsen snapshot is compatible with the nfdump snapshot):

cd /usr/src
wget http://internap.dl.sourceforge.net/sourceforge/nfsen/nfsen-snapshot-20070208.tar.gz
tar -zxvf nfsen-snapshot-20070208.tar.gz
cd nfsen-snapshot-20070208

To build and install nfsen is a bit more complicated that installing nfdump:

cd etc
cp nfsen-dist.conf nfsen.conf
nano nfsen.conf
* $BASEDIR = "/usr/local/nfsen";
* $CONFDIR = "/etc/nfsen";
* $VARDIR   = "/var/local/nfsen";
* $PROFILESTATDIR="${VARDIR}/profiles";
* $PROFILEDATADIR="/var/local/nfdump/flows";
* $USER    = "www-data";
* $WWWUSER  = "www-data";
* $WWWGROUP = "www-data";
* $SUBDIRLAYOUT = 7;
* %sources = (
*      'bmr01'        => { 'port'    => '9999', 'col' => '#0000ff', 'type' => 'netflow' },
* );
cd ..
./install.pl etc/nfsen.conf


[/OpenSource/Debian/Monitoring] permanent link


Installing Netflow Tool: nfdump

For a while now, I've been using the Flow-Tools set of netflow analysis tools. I've heard that Nfdump and Nfsen are the current netflow tools of choice. The weakness with Flow-tools has been in the web side. The command line tools are rich, but the graphical side has lacked a little. I'm hoping to see something better with this alternate tools set.

Peter Haag, the toolset author, has a presentation titled Watch Those Flows. There is a second, larger paper called Watch your Flows with NfSen and NFDUMP.

Download, expand, and build the snapshot from Sourceforge Nfdump:

cd /usr/src
wget http://internap.dl.sourceforge.net/sourceforge/nfdump/nfdump-snapshot-20070208.tar.gz
tar -zxvf nfdump-snapshot-20070208.tar.gz
cd nfdump-snapshot-20070208
./configure
make 
make install

There are man tools for each of the tools. There must be a separate nfcpad process for each neflow source. So that collection starts on monitoring server boot, these can be placed in the /etc/rc.local config file, which will be processed near the end of the operating system boot process. The author provides the following as an example:

nfcapd -w -D -l /flow_base_dir/router1 -p 23456
nfcapd -w -D -l /flow_base_dir/router2 -p 23457

I've used (pre-create the directory):

nfcapd -p 9999 -l /var/local/nfdump/flows -S 7 -w -I bmr01

Each interface on a Cisco router should have the following:

interface fastethernet 0/0
ip route-cache flow

A basic config to export the flows would be:

ip flow-export  
ip flow-export version 5
ip flow-cache timeout active 5

Note that even though lower end switches like 3550's, 3750's, and 3560's have some of the netflow commands, they will only export process switched flows. Talk to your Cisco account manager, and as a group, we may be able to influence Cisco to provide full netflow capability in 'every day' line of switches.

The alternative to this problem is to use nProbe utility from NTOP. Connect a promiscuous ethernet port to a spanned port on a switch. nProbe will capture the packets, evaluate them, and forward netflows to the netflow capture utility. As a bonus, nProbe is useful in VOIP networks as it knows how to evaluate RTP streams and forward helpful statistics on a per flow basis. I'll try to write this up in another entry.


As a side note, I came across plixer international, who were previouisly known as Somix Technologies. They have a netflow analyzer available for downloading.

[/OpenSource/Debian/Monitoring] permanent link


Installing and Configuing syslog-ng

The syslogging capability that comes standard with Debian gets the job done, but offers little for flexibility. I needed something that would allow simple replication of certain log entries to a vendor's syslog server. BalaBit's syslog-ng is an excellent replacement. And dead easy to install:

apt-get install syslog-ng

This removes the old syslog programs, installs the new ones, and starts things up. The configuration file, although in a different format, attempts to replicate the functionality of the previous programs quite well. The configuration is found in /etc/syslog-ng/syslog-ng.conf. The documentation is straight forward and useful. After taking a quick look at it,the configuration file makes sense, and is easy to add configuration items.

In the configuration file, I added the following to the options section:

use_dns(yes);
use_fqdn(yes);

to add some lookups, even though it may not be recommeded in high volume environments. In the source s_all section, I added:

udp();

in order to allow messages from the Cisco devices. In order forward syslog messages from specific devices to a vendor in order to correlate network problems, I added the following lines:

# external destination for log messages (will require a port opening on firewall)
destination du_externallog { udp("192.2.0.5"); };
# specific device list
filter f_devicesforvendor { host("router1") or host("router2"); };
# perform the logging to vendor
log {
  source(s_all);
  filter(f_devicesforvendor);
  destination(du_externallog);
  }

[/OpenSource/Debian/Monitoring] permanent link


Darvas Selections for 2007/03/02

Here are the selections for Friday. These lists have the Darvas stop calculated in the second column.

Start: 2007-02-01
High: 2007-02-26
EOD: 2007-03-01
SymbolStop
ABT54.28
ADP50.33
AEP45.37
AMCC3.68
AXL25.82
BDN34.02
BGO6.32
CEG77.42
CERN53.28
CMS17.02
CNP18.31
D84.70
DD52.95
ED49.25
EQ57.05
ESLR10.68
FE64.35
GILD73.25
HES55.06
IR44.00
KLAC53.65
LLTC33.64
LYO32.48
NBL57.06
NRG65.79
NSM25.58
NTES20.60
NVTL12.80
ONNN10.46
PAAS31.52
PAYX41.93
PD124.40
PPL38.17
PWR23.31
PX64.20
RIMM139.74
RRC31.25
RRI17.06
SONS7.23
STM19.92
STP36.70
USG57.74
USU14.98
VSEA47.22
WYN35.10
XLU39.17

Start: 2007-02-01
High: 2007-02-23
EOD: 2007-03-01
SymbolStop
ADI36.64
ALTR21.48
ATI104.51
AUY15.25
AXL25.82
BBBY42.54
BBI6.91
BGO6.32
CECO29.85
CERN53.28
CF38.11
ED49.25
EQ57.05
HES55.06
HL8.40
IR44.00
JOYG52.94
KLAC53.65
LLTC33.64
NBL57.06
NRG65.79
NVTL12.80
NYB17.35
ONNN10.46
PAAS31.52
PAYX41.93
PD124.40
PENN42.95
PPL38.17
PWR23.31
PX64.20
RRC31.25
SIRF31.70
STM19.92
TSM11.30
USU14.98
WYN35.10
XLU39.17

Start: 2007-02-01
High: 2007-02-22
EOD: 2007-03-01
SymbolStop
ADI36.64
AKS22.03
ALTR21.48
AMKR12.04
ATHR26.71
ATI104.51
AUY15.25
BG84.03
BGO6.32
BNI84.57
CA25.45
CERN53.28
CF38.11
CHL49.57
CNP18.31
CTSH91.00
DD52.95
ED49.25
FAF46.70
GILD73.25
GS219.26
GT25.85
HL8.40
HLT35.84
HLTH15.48
IR44.00
JBHT27.48
JOYG52.94
LM109.03
LWSN8.44
MET65.79
MHS67.57
NBL57.06
NIHD70.54
NRG65.79
NTES20.60
NYB17.35
OMC100.61
OMX51.85
ONNN10.46
PAAS31.52
PD124.40
PENN42.95
PMTC20.18
POT161.00
PWR23.31
RIO36.68
RRC31.25
RYI34.01
SCUR9.35
SHLD187.27
STM19.92
SYK63.50
TEVA37.76
TRA17.70
TSM11.30
UIS8.92
USU14.98
WIN15.10
XL73.99
YRCW42.92

[/Trading/Darvas/D200703] permanent link


Darvas Results at EOD 2007/03/01 with EOD Signal of 2007/02/28

In comparison, the Dow Jones Industrial Index opened at 12265, had a lower high of 12289, had a lower low of 12059, and closed down for the day at 12234.

Symbol#OpenHighLowCloseStopO->HO->C
ADI235.7536.3735.2636.1536.640.620.40
AFFX125.3025.8224.7625.6427.010.520.34
AKS222.5923.3821.8122.8122.030.790.22
ALTR220.6621.3220.5321.0121.480.660.35
AMKR111.3012.0211.1111.8012.040.720.50
ARRS112.8313.3112.6313.1315.010.480.30
ATHR124.5925.4124.1325.1526.710.820.56
ATI398.00102.7897.55100.68104.514.782.68
AUY314.3614.5914.0414.1415.250.23-0.22
AXL224.2024.8023.9224.5125.820.600.31
BAX149.2049.8848.6049.5950.320.680.39
BBBY139.3040.3638.7139.7642.541.060.46
BBI16.556.856.486.816.910.300.26
BG278.0080.6977.1080.5284.032.692.52
BNI278.7279.1977.5078.6784.570.47-0.05
CA225.8026.3625.5025.8725.450.560.07
CE128.2528.5027.5028.3028.710.250.05
CECO128.9830.2228.8029.8329.851.240.85
CERN251.2852.1550.0052.1153.280.870.83
CF238.1538.9736.2638.0038.110.82-0.15
CHL144.6445.9643.9645.4349.571.320.79
CHRW150.2051.6149.2550.9753.501.410.77
CNP117.6017.9916.5217.8718.310.390.27
CORI15.005.014.984.994.990.01-0.01
CTSH187.3690.2886.3389.3791.002.922.01
CTV237.6238.6737.0838.5438.991.050.92
DD250.5051.3749.9550.8752.950.870.37
DISH140.4543.3940.0042.6842.512.942.23
DLTR133.4434.4633.1934.3733.891.020.93
ED248.1548.8648.0048.6849.250.710.53
EGO15.925.925.755.856.200.00-0.07
EMC113.7014.1013.6113.8414.380.400.14
EQ155.1055.4554.5154.8857.050.35-0.22
FAF146.5047.4846.3047.2846.700.980.78
FEIC132.0533.4331.7133.0334.341.380.98
FHN142.6543.1041.8942.8644.050.450.21
FRK166.9067.9766.7767.8265.851.070.92
GIGM111.8612.2711.5911.8312.800.41-0.03
GILD270.2571.5969.1070.5973.251.340.34
GNW135.0535.4034.9435.1436.870.350.09
GS1197.12202.70194.08199.66219.265.582.54
GT224.6026.7124.6026.1525.852.111.55
HAS228.0829.2427.6828.9929.471.160.91
HES152.9954.2052.0853.1955.061.210.20
HEW129.9829.9828.9729.8229.770.00-0.16
HL37.698.097.497.978.400.400.28
HLT134.3034.9734.0134.9035.840.670.60
HLTH214.7514.9614.3914.7915.480.210.04
HOLX153.8955.0753.0354.3657.701.180.47
ICE1145.50153.36142.65150.58158.057.865.08
IR242.3943.3241.6543.0844.000.930.69
JBHT226.2826.8125.8026.3927.480.530.11
JCP179.2780.9177.5079.9585.681.640.68
JOYG342.2044.7140.7543.5852.942.511.38
KLAC150.7551.3750.2150.9253.650.620.17
LLTC132.6533.3632.3732.9433.640.710.29
LM199.90103.1098.60101.88106.283.201.98
LWSN27.797.867.657.728.440.07-0.07
LYO131.2532.0230.7831.8432.480.770.59
MCK256.6656.6653.9455.3656.480.00-1.30
MET162.9063.4062.3063.2065.790.500.30
MHS267.0568.3466.2568.1667.571.291.11
MOS225.2525.4524.2925.1826.260.20-0.07
MTW157.5059.0855.1158.5558.511.581.05
NBL356.2058.3556.1157.4957.062.151.29
NIHD169.8771.5268.9970.8770.541.651.00
NRG366.7567.9365.2467.3365.791.180.58
NTES120.0420.4819.5620.2021.290.440.16
NVTL112.9513.4012.6513.1812.800.450.23
NWL230.1230.6929.9330.5830.470.570.46
NWS.A122.2522.5021.7622.2123.040.25-0.04
NYB216.7216.9516.4816.9217.350.230.20
OMC1101.93103.70100.84103.36100.611.771.43
OMX151.0751.5750.4451.2151.850.500.14
ONNN29.289.909.059.7510.460.620.47
PAAS329.6330.2028.3828.4731.520.57-1.16
PAYX139.7340.1439.1040.0141.930.410.28
PD3123.55125.21123.35124.23124.401.660.68
PENN245.6146.1044.7545.7642.950.490.15
PMTC118.8119.1118.5018.9420.180.300.13
POT2154.20156.81151.06154.79161.002.610.59
PPL137.6138.6237.4538.4338.171.010.82
PWR322.8823.5522.5023.4223.310.670.54
PX160.4762.0360.1861.3264.201.560.85
RIO232.7734.0032.5033.5036.681.230.73
RRC231.6532.5031.2032.0631.250.850.41
RRI116.6617.3216.5917.2317.060.660.57
RSH124.3425.0523.7724.8024.800.710.46
RYI134.4034.7732.6034.0034.010.37-0.40
SCUR18.358.588.258.309.350.23-0.05
SHLD2176.45178.00172.53176.07187.271.55-0.38
SIRF126.8828.2526.4228.0931.701.371.21
SIX16.076.226.006.116.280.150.04
STM218.8419.1318.6818.9319.920.290.09
SVM113.5313.6013.1013.4413.500.07-0.09
SYK160.2762.0059.0161.3763.501.731.10
TEVA235.0535.1834.2534.8137.760.13-0.24
TRA217.0017.3416.2517.1217.780.340.12
TSM210.8111.0010.6410.9311.300.190.12
UIS18.438.478.108.378.920.04-0.06
USU214.0114.3413.7314.2214.980.330.21
UVN236.0036.0235.8935.9935.940.02-0.01
VIV13.573.723.533.684.020.150.11
VMC1114.80119.80110.00118.24109.775.003.44
WIN214.7315.0314.5914.8815.100.300.15
WYN235.0035.2434.6635.1535.100.240.15
XL270.3070.7069.6770.0973.990.40-0.21
XLU138.2238.8637.8738.6539.170.640.43
YRCW142.4143.8442.1943.5442.921.431.13
1094567.13110.9858.88

[/Trading/Darvas/D200703] permanent link


2007 Mar 01 - Thu

Darvas Selections for 2007/03/01

Here are the selections for Thursday. These lists have the Darvas stop calculated in the second column.

Start: 2007-01-28
High: 2007-02-23
EOD: 2007-02-28
SymbolStop
ADI36.64
ALTR21.48
ATI104.51
AUY15.25
AXL25.82
BBBY42.54
BBI6.91
BGO6.32
CECO29.85
CERN53.28
CF38.11
CTV38.99
ED49.25
EQ57.05
HES55.06
HL8.40
IR44.00
JOYG52.94
KLAC53.65
LLTC33.64
NBL57.06
NRG65.79
NVTL12.80
NYB17.35
ONNN10.46
PAAS31.52
PAYX41.93
PD124.40
PENN42.95
PPL38.17
PWR23.31
PX64.20
RRC31.25
SIRF31.70
STM19.92
TSM11.30
USU14.98
WYN35.10
XLU39.17

Start: 2007-01-28
High: 2007-02-22
EOD: 2007-02-28
SymbolStop
ADI36.64
AKS22.03
ALTR21.48
AMKR12.04
ATHR26.71
ATI104.51
AUY15.25
BG84.03
BGO6.32
BNI84.57
CA25.45
CERN53.28
CF38.11
CHL49.57
CNP18.31
CTSH91.00
DD52.95
ED49.25
FAF46.70
GILD73.25
GS219.26
GT25.85
HAS29.47
HL8.40
HLT35.84
HLTH15.48
IR44.00
JBHT27.48
JOYG52.94
LM106.28
LWSN8.44
MCK56.48
MET65.79
MHS67.57
MOS26.26
NBL57.06
NIHD70.54
NRG65.79
NTES21.29
NWL30.47
NYB17.35
OMC100.61
OMX51.85
ONNN10.46
PAAS31.52
PD124.40
PENN42.95
PMTC20.18
POT161.00
PWR23.31
RIO36.68
RRC31.25
RYI34.01
SCUR9.35
SHLD187.27
SIX6.28
STM19.92
SYK63.50
TEVA37.76
TRA17.78
TSM11.30
UIS8.92
USU14.98
UVN35.94
WIN15.10
XL73.99
YRCW42.92

Start: 2007-01-28
High: 2007-02-21
EOD: 2007-02-28
SymbolStop
AFFX27.01
AKS22.03
ARRS15.01
ATI104.51
AUY15.25
AXL25.82
BAX50.32
BG84.03
BGO6.32
BNI84.57
CA25.45
CE28.71
CHRW53.50
CORI4.99
CTV38.99
DD52.95
DISH42.51
DLTR33.89
EGO6.20
EMC14.38
FEIC34.34
FHN44.05
FRK65.85
GIGM12.80
GILD73.25
GNW36.87
GT25.85
HAS29.47
HEW29.77
HL8.40
HLTH15.48
HOLX57.70
ICE158.05
JBHT27.48
JCP85.68
JOYG52.94
LWSN8.44
LYO32.48
MCK56.48
MHS67.57
MOS26.26
MTW58.51
NBL57.06
NRG65.79
NWL30.47
NWS.A23.04
PAAS31.52
PD124.40
POT161.00
PWR23.31
RIO36.68
RRI17.06
RSH24.80
SHLD187.27
SVM13.50
TEVA37.76
TRA17.78
UVN35.94
VIV4.02
VMC109.77
WIN15.10
WYN35.10
XL73.99

[/Trading/Darvas/D200703] permanent link


Darvas Results at EOD 2007/02/28 with EOD Signal of 2007/02/27

In comparison, the Dow Jones Industrial Index opened at 12214, had a lower high of 12353, had a higherlow of 12186, and closed up for the day at 12268.

Symbol#OpenHighLowCloseStopO->HO->C
ADI135.8736.4735.8636.3136.640.600.44
AET144.1744.7443.9544.2245.380.570.05
AFFX126.0926.2025.4125.7327.010.11-0.36
AKS220.1623.8220.1623.1322.033.662.97
ALGN116.3116.5215.9016.4217.010.210.11
ALKS116.7616.8416.3016.4017.300.08-0.36
ALTR121.0021.5421.0021.1121.480.540.11
AMKR111.1811.5910.8011.5312.040.410.35
AOC137.4538.0437.4237.6438.950.590.19
ARRS113.1013.2512.8713.1415.010.150.04
ATHR125.2625.4524.5625.2726.710.190.01
ATI2100.04103.0097.56102.32104.512.962.28
AUY214.1914.7913.8514.6515.250.600.46
AXL124.6824.8023.8524.5125.820.12-0.17
BAX248.9050.0748.8050.0150.321.171.11
BG378.8079.7178.1079.2784.030.910.47
BNI279.0179.9678.1879.1884.570.950.17
CA226.1426.1925.6926.0425.450.05-0.10
CE229.1529.1728.2528.5828.710.02-0.57
CERN251.0452.3450.2752.1153.281.301.07
CF137.4239.0036.2738.6638.111.581.24
CHL146.1746.9645.4146.4749.570.790.30
CHRW251.5251.7150.7950.9653.500.19-0.56
CL167.2968.2367.0567.4168.560.940.12
CNP217.4918.0417.4917.8318.310.550.34
CORI15.015.024.995.004.990.01-0.01
CTB114.7314.9914.6014.6916.840.26-0.04
CTSH187.8590.8086.2690.2091.002.952.35
CTV237.7338.9437.4538.4738.991.210.74
DD351.1351.3550.1350.7352.950.22-0.40
DISH240.3641.0040.0040.6042.510.640.24
DLTR233.5034.6433.2534.1133.891.140.61
DTC18.508.548.288.369.130.04-0.14
ED148.6748.9448.3248.5849.250.27-0.09
EGO15.986.095.725.986.200.110.00
EMC113.9114.0813.7413.9614.380.170.05
FAF146.1647.2945.4347.1946.701.131.03
FEIC233.3633.4732.4932.8034.340.11-0.56
FHN242.9943.4242.7643.1544.050.430.16
FIS145.2945.9945.2445.9245.800.700.63
FRK266.5067.4066.4067.3565.850.900.85
GIGM212.2512.4211.8812.1612.800.17-0.09
GILD269.5572.0769.5571.5673.252.522.01
GNW235.0035.8435.0035.3336.870.840.33
GS2200.40203.85197.79201.75219.263.451.35
GT225.2925.2924.3124.6225.850.00-0.67
HAS228.6028.6027.6128.2729.470.00-0.33
HL27.487.827.387.698.400.340.21
HLT234.6435.3834.1135.2735.840.740.63
HLTH314.6714.9814.2814.9415.480.310.27
HOLX155.2655.8854.0255.0557.700.62-0.21
ICE2145.31151.00140.70150.77158.055.695.46
IR242.7343.7342.5743.3044.001.000.57
JBHT326.2526.7125.8326.5627.480.460.31
JCP280.7581.7079.8181.0185.680.950.26
JOYG246.7547.1943.6244.3452.940.44-2.41
LM1102.06104.24101.30102.74106.282.180.68
LWSN38.008.037.797.928.440.03-0.08
LYO231.3532.2030.5631.8232.480.850.47
MCK356.0056.5555.5755.7256.480.55-0.28
MET162.9163.5062.6763.1665.790.590.25
MHK188.3588.4586.2487.5293.120.10-0.83
MHS265.1868.2064.8567.6167.573.022.43
MOS325.1525.4924.3525.4426.260.340.29
MTW259.0059.4657.2958.6558.510.46-0.35
NBL357.1058.2257.0657.5757.061.120.47
NIHD169.0071.0969.0070.8470.542.091.84
NRG366.1567.1165.5066.3565.790.960.20
NTES120.3920.7120.1020.4021.290.320.01
NWL330.3830.7529.7530.6130.470.370.23
NWS.A122.3322.6922.2122.5323.040.360.20
NYB216.7616.9216.5116.7417.350.16-0.02
OMC1103.20104.24102.79103.62100.611.040.42
OMX151.1952.1050.7651.9051.850.910.71
ONNN210.0710.169.599.8210.460.09-0.25
PAAS229.0730.2428.5530.0231.521.170.95
PD2123.10125.31123.02125.01124.402.211.91
PENN145.0046.8744.9446.6342.951.871.63
PMTC119.4819.4918.8519.0720.180.01-0.41
POT3155.86158.66151.00157.82161.002.801.96
PRU190.2191.2090.1490.9492.830.990.73
PWR322.5823.2122.2723.1823.310.630.60
PX161.2563.3060.8661.6964.202.050.44
RIO234.0534.4433.1334.1036.680.390.05
RRC131.9432.1731.3231.9331.250.23-0.01
RRI216.8417.1116.7516.9417.060.270.10
RSH224.5025.4723.4224.9723.950.970.47
RTH1101.89102.68101.27102.09106.380.790.20
RYI132.3034.7432.3034.3634.012.442.06
SCUR18.778.838.358.589.350.06-0.19
SHLD3178.91181.83177.18180.25187.272.921.34
SIMO120.0520.9519.5620.8621.500.900.81
SIX16.026.255.996.196.280.230.17
STM219.4019.6419.2019.4619.920.240.06
SVM213.5413.7413.4013.6413.500.200.10
SYK160.2562.2860.0062.0263.502.031.77
TEVA235.8436.0235.5235.5637.760.18-0.28
TGT160.4361.8559.8861.5363.201.421.10
TMX129.2029.7629.0429.0430.750.56-0.16
TRA316.9817.7316.7517.4517.780.750.47
TSM111.0511.2411.0011.1011.300.190.05
UIS18.718.758.098.498.920.04-0.22
UST158.0058.5457.8758.0459.440.540.04
USU114.0414.5114.0014.1914.980.470.15
UVN235.9236.0035.9135.9935.940.080.07
VIV13.643.753.613.704.020.110.06
WIN215.1415.1414.6415.0515.100.00-0.09
WYN234.2435.2434.2035.2035.101.000.96
XL271.5471.6770.9271.0173.990.13-0.53
XLP126.1526.3625.9726.3026.860.210.15
XLY139.2939.2937.8838.2339.990.00-1.06
YRCW143.5243.7843.0543.4842.920.26-0.04
ZMH183.7384.9583.3184.2785.941.220.54
1134864.4793.1645.16

[/Trading/Darvas/D200702] permanent link


2007 Feb 28 - Wed

2007/02/27 Market Notes

Well that was an interesting day. The Dow bottomed out around 537 and rebounded up to being down 400 for the day. The one point I wanted to remind myself of was that the Dow futures were noticeably down in early morning trading, before the bell. Even before that, there were notes about early morning Chinese sell-offs happening. It is said that during yesterday's trading, "China's Shanghai Composite reversed early losses to end at a record in its first day after Lunar New Year celebrations".

Today's "declines came on concerns that the government may introduce additional macro-economic tightening measures to cool speculative activity".

It has been noted that this day approached the one day loss of September 17, 2001.

The market psychologists would probably suggest a rebound slightly for tomorrow as the professionals buy back. I can't put a date on it, but a the beginning of last year, oils caused a big dip, but the original market highs were re-attained within a week or so. Come to think of it, it may have been the year before where we had a dip and a rebound.

It is interesting to note that John Mauldin's Weekly E-Letter on Saturday talked about the 51.9% Recession based upon an inverted yield curve.

So, we have a toss up, are the pro's going to buy back in, or is retail going to bring it down more for the next couple of days.

[/Trading/MarketNotes] permanent link


Darvas Selections for 2007/02/28

Here are the selections for Wednesday. These lists have the Darvas stop calculated in the second column.

Start: 2007-01-27
High: 2007-02-22
EOD: 2007-02-27
SymbolStop
ADI36.64
AKS22.03
ALTR21.48
AMKR12.04
ATHR26.71
ATI104.51
AUY15.25
BG84.03
BGO6.32
BNI84.57
CA25.45
CERN53.28
CF38.11
CHL49.57
CNP18.31
CTSH91.00
DD52.95
ED49.25
FAF46.70
GILD73.25
GS219.26
GT25.85
HAS29.47
HL8.40
HLT35.84
HLTH15.48
IR44.00
JBHT27.48
JOYG52.94
LM106.28
LWSN8.44
MCK56.48
MET65.79
MHS67.57
MOS26.26
NBL57.06
NIHD70.54
NRG65.79
NTES21.29
NWL30.47
NYB17.35
OMC100.61
OMX51.85
ONNN10.46
PAAS31.52
PD124.40
PENN42.95
PMTC20.18
POT161.00
PWR23.31
RIO36.68
RRC31.25
RYI34.01
SCUR9.35
SHLD187.27
SIX6.28
STM19.92
SYK63.50
TEVA37.76
TRA17.78
TSM11.30
UIS8.92
USU14.98
UVN35.94
WIN15.10
XL73.99
YRCW42.92

Start: 2007-01-27
High: 2007-02-21
EOD: 2007-02-27
SymbolStop
AFFX27.01
AKS22.03
ARRS15.01
ATI104.51
AUY15.25
AXL25.82
BAX50.32
BG84.03
BGO6.32
BNI84.57
CA25.45
CE28.71
CHRW53.50
CORI4.99
CTV38.99
DD52.95
DISH42.51
DLTR33.89
EGO6.20
EMC14.38
FEIC34.34
FHN44.05
FRK65.85
GIGM12.80
GILD73.25
GNW36.87
GT25.85
HAS29.47
HL8.40
HLTH15.48
HOLX57.70
ICE158.05
JBHT27.48
JCP85.68
JOYG52.94
LWSN8.44
LYO32.48
MCK56.48
MHS67.57
MOS26.26
MTW58.51
NBL57.06
NRG65.79
NWL30.47
NWS.A23.04
PAAS31.52
PD124.40
POT161.00
PWR23.31
RIO36.68
RRI17.06
RSH23.95
SHLD187.27
SVM13.50
TEVA37.76
TRA17.78
UVN35.94
VIV4.02
WIN15.10
WYN35.10
XL73.99

Start: 2007-01-27
High: 2007-02-20
EOD: 2007-02-27
SymbolStop
AET45.38
ALGN17.01
ALKS17.30
AOC38.95
BAX50.32
BG84.03
CE28.71
CERN53.28
CHRW53.50
CL68.56
CNP18.31
CTB16.84
CTV38.99
DD52.95
DISH42.51
DLTR33.89
DTC9.13
FEIC34.34
FHN44.05
FIS45.80
FRK65.85
GIGM12.80
GNW36.87
GS219.26
HLT35.84
HLTH15.48
ICE158.05
IR44.00
JBHT27.48
JCP85.68
LWSN8.44
LYO32.48
MCK56.48
MHK93.12
MOS26.26
MTW58.51
NBL57.06
NRG65.79
NWL30.47
NYB17.35
ONNN10.46
POT161.00
PRU92.83
PWR23.31
PX64.20
RRI17.06
RSH23.95
RTH106.38
SHLD187.27
SIMO21.50
STM19.92
SVM13.50
TGT63.20
TMX30.75
TRA17.78
UST59.44
WYN35.10
XLP26.86
XLY39.99
ZMH85.94

[/Trading/Darvas/D200702] permanent link


Darvas Results at EOD 2007/02/27 with EOD Signal of 2007/02/26

In comparison, the Dow Jones Industrial Index opened at 12628, had a lower high of 12629, had a lower low of 12086, and closed down for the day at 12216.

Dow futures were way down before the start of trading and indicated that today might not be a good day to enter, or perhaps prefer to short these instruments.

Symbol#OpenHighLowCloseStopO->HO->C
AET245.5045.6543.4944.2845.380.15-1.22
AFFX127.1927.2325.9425.9427.010.04-1.25
AKS121.7121.7120.0820.4122.030.00-1.30
ALGN216.7116.8716.3016.3317.010.16-0.38
ALKS217.1517.1616.2716.7417.300.01-0.41
AMP161.3461.3456.7458.1361.750.00-3.21
AOC238.5038.6337.0537.3638.950.13-1.14
ARBA19.309.599.169.219.790.29-0.09
ARRS113.5813.6913.0113.0615.010.11-0.52
ATI1101.49104.1895.7998.67104.512.69-2.82
AUY114.7815.1213.5314.0515.250.34-0.73
AXL125.6325.6724.5224.6625.820.04-0.97
BAX250.1050.4048.1049.1050.320.30-1.00
BG282.3583.6176.5078.9684.031.26-3.39
BGC351.1552.0047.0050.0952.460.85-1.06
BGO16.306.305.435.966.320.00-0.34
BNI180.1381.2278.2778.8984.571.09-1.24
BSG113.3413.4113.1713.3413.430.070.00
CA126.6726.8025.7526.1925.450.13-0.48
CE329.0029.2928.2829.1528.710.290.15
CERN153.5453.7050.9251.3053.280.16-2.24
CHRW253.0253.1751.3751.6553.500.15-1.37
CL268.3869.0066.7567.3468.560.62-1.04
CNP118.3818.4317.6417.8518.310.05-0.53
CORI15.035.034.995.014.990.00-0.02
CTB115.4215.7014.5614.7016.840.28-0.72
CTV239.5139.5136.9137.6238.990.00-1.89
DCX169.3069.4966.2667.3069.800.19-2.00
DD352.7052.8748.6351.3052.950.17-1.40
DISH342.1742.2940.5240.9042.510.12-1.27
DLTR233.8433.8732.7832.9933.890.03-0.85
DTC28.628.758.238.529.130.13-0.10
EGO26.206.355.796.036.200.15-0.17
EL147.3147.9945.6045.7648.150.68-1.55
EMC114.3014.3013.7213.7514.380.00-0.55
FEIC234.0034.0632.6133.1533.340.06-0.85
FHN344.1344.1342.4942.9544.050.00-1.18
FIS246.5546.6145.0845.2945.800.06-1.26
FRK267.3167.6166.4966.5965.850.30-0.72
GIGM212.2012.7011.2112.1512.800.50-0.05
GILD173.4073.4070.0070.5873.250.00-2.82
GNW236.0436.0534.8035.0036.870.01-1.04
GS1209.75210.40194.65199.76219.260.65-9.99
GT125.3925.4224.0124.4125.850.03-0.98
HAS228.8628.9928.1528.6429.470.13-0.22
HL18.288.297.577.698.400.01-0.59
HLT136.1436.1534.5634.8635.840.01-1.28
HLTH214.9315.0014.4514.6115.480.07-0.32
HOLX157.3557.3553.6054.7057.700.00-2.65
ICE3152.30153.58143.11144.58158.051.28-7.72
IR244.5145.0141.1042.7744.000.50-1.74
JBHT326.8426.9426.1526.2527.480.10-0.59
JCP281.7582.2079.5280.2885.680.45-1.47
JOYG152.0052.3849.4150.3352.940.38-1.67
KG118.4318.4917.9117.9118.660.06-0.52
LWSN38.188.237.927.978.440.05-0.21
LYO232.2832.5831.0531.5732.480.30-0.71
MCK357.1057.1555.1156.0656.930.05-1.04
MHK290.0090.1587.0088.7593.120.15-1.25
MHS166.1567.4564.5465.1867.571.30-0.97
MOS325.6625.6624.2725.1026.260.00-0.56
MTW260.0961.8758.5059.0359.021.78-1.06
NBL357.4458.2856.5857.2557.060.84-0.19
NMX1130.00134.50125.67126.98134.594.50-3.02
NOC373.1573.6471.5571.9174.670.49-1.24
NOK122.3722.5121.5021.8723.020.14-0.50
NRG367.1567.7066.0166.2563.710.55-0.90
NWL230.9731.1030.2030.4030.550.13-0.57
NWS.A123.4424.0822.2222.3723.040.64-1.07
NYB116.7417.0016.6016.7117.350.26-0.03
ONNN210.3210.509.8110.1010.460.18-0.22
OSK154.7954.8152.0953.3954.770.02-1.40
PAAS130.9031.2328.5629.2231.520.33-1.68
PD2125.75126.34122.53123.00124.770.59-2.75
POT3163.76164.08148.54155.37161.000.32-8.39
PRU192.2692.3689.7890.2192.830.10-2.05
PWR223.4023.4022.0022.6823.310.00-0.72
PX163.7363.9060.2361.4764.200.17-2.26
QCOM141.0641.6740.0040.2541.570.61-0.81
RFMD18.208.378.118.228.340.170.02
RIO134.5735.2531.5833.0136.680.68-1.56
RRI317.1017.2916.4516.8717.060.19-0.23
RSH223.5526.2423.3725.1323.102.691.58
RTH1103.87104.04100.76101.71106.380.17-2.16
SHLD3183.58184.43178.12178.54187.270.85-5.04
SIMO221.1021.3019.0320.3021.500.20-0.80
SNE253.2053.3451.1151.7052.770.14-1.50
STI186.0186.0283.4683.9285.650.01-2.09
STM119.5019.5418.8719.0919.920.04-0.41
SVM213.7213.7613.3413.4013.500.04-0.32
TEVA136.7736.9335.3635.5137.760.16-1.26
TGT161.7062.0059.4059.4063.200.30-2.30
TMX130.5130.6829.0629.2330.750.17-1.28
TRA318.0418.0515.8816.8817.780.01-1.16
UST159.8859.8857.6158.0659.440.00-1.82
UTX166.2566.8064.7565.4668.750.55-0.79
UVN235.9136.0235.8835.9035.970.11-0.01
VIV13.763.873.533.704.020.11-0.06
VSEA149.1949.2047.2547.8049.180.01-1.39
WCI120.9921.3920.5821.1123.640.400.12
WHR193.0093.0189.4089.9595.040.01-3.05
WIN115.3115.3214.5014.6815.100.01-0.63
WYN235.2535.5834.1934.2435.100.33-1.01
XL172.8673.3671.1971.5473.990.50-1.32
XLP226.6926.7125.8126.2026.860.02-0.49
XLY139.0839.0937.6838.1539.990.01-0.93
ZMH184.8087.1481.7483.7485.942.34-1.06
1074578.8739.00-139.31

[/Trading/Darvas/D200702] permanent link


2007 Feb 27 - Tue

NTLM Passthrough Authentication

Most, well, all of my client sites have Active Directory based networks. To facilitate authentication and authorization to various pages of a web-site, it makes it easier on admin staff to assign users to groups in Active Directory, and then use NTLM Pass-through Authentication from Internet Explorer based web browsers to gain access to selected pages.

In performing research on this subject, I came across how to make Squid perform NTLM Pass-Through Authentication and act as a replacement Microsoft ISA server.

But back to Apache based NTLM Pass through authentication, I came across something that is supposed to work with Drupal. The source file doesn't offer up easy to use information. Moving along, there is a circa 2000 NTLM auth module for Apache/Unix.

I think the Apache-AuthenNTLM Perl Module is probably the best solution, well the best I've encountered so far. That is the one I'm going to try. There are a couple of supporting documents: Modperl Mailing List Entry and a SourceForge Discussion Group entry.

The unknown is how to integrate group authorization. It looks like the only way to get appropriate information is through basic authentication so I can use those credentials to gain secondary access to AD group composition via a previously described LDAP module. That should allow me to gain automatic access to username and password.

[/OpenSource] permanent link


Darvas Selections for 2007/02/27

Here are the selections for Tuesday. These lists have the Darvas stop calculated in the second column.

Start: 2007-01-26
High: 2007-02-21
EOD: 2007-02-26
SymbolStop
AFFX27.01
AKS22.03
AMP61.75
ARRS15.01
ATI104.51
AUY15.25
AXL25.82
BAX50.32
BG84.03
BGC52.46
BGO6.32
BNI84.57
CA25.45
CE28.71
CHRW53.50
CORI4.99
CTV38.99
DD52.95
DISH42.51
DLTR33.89
EGO6.20
EMC14.38
FEIC33.34
FHN44.05
FRK65.85
GIGM12.80
GILD73.25
GNW36.87
GT25.85
HAS29.47
HL8.40
HLTH15.48
HOLX57.70
ICE158.05
JBHT27.48
JCP85.68
JOYG52.94
LWSN8.44
LYO32.48
MCK56.93
MHS67.57
MOS26.26
MTW59.02
NBL57.06
NOC74.67
NRG63.71
NWL30.55
NWS.A23.04
PAAS31.52
PD124.77
POT161.00
PWR23.31
RIO36.68
RRI17.06
RSH23.10
SHLD187.27
SNE52.77
SVM13.50
TEVA37.76
TRA17.78
UVN35.97
VIV4.02
WIN15.10
WYN35.10
XL73.99

Start: 2007-01-26
High: 2007-02-20
EOD: 2007-02-26
SymbolStop
AET45.38
ALGN17.01
ALKS17.30
AOC38.95
BAX50.32
BG84.03
BGC52.46
CE28.71
CERN53.28
CHRW53.50
CL68.56
CNP18.31
CTB16.84
CTV38.99
DD52.95
DISH42.51
DLTR33.89
DTC9.13
FEIC33.34
FHN44.05
FIS45.80
FRK65.85
GIGM12.80
GNW36.87
GS219.26
HLT35.84
HLTH15.48
ICE158.05
IR44.00
JBHT27.48
JCP85.68
LWSN8.44
LYO32.48
MCK56.93
MHK93.12
MOS26.26
MTW59.02
NBL57.06
NOC74.67
NRG63.71
NWL30.55
NYB17.35
ONNN10.46
POT161.00
PRU92.83
PWR23.31
PX64.20
RFMD8.34
RRI17.06
RSH23.10
RTH106.38
SHLD187.27
SIMO21.50
STM19.92
SVM13.50
TGT63.20
TMX30.75
TRA17.78
UST59.44
WYN35.10
XLP26.86
XLY39.99
ZMH85.94

Start: 2007-01-26
High: 2007-02-16
EOD: 2007-02-26
SymbolStop
AET45.38
ALGN17.01
ALKS17.30
AOC38.95
ARBA9.79
BGC52.46
BSG13.43
CE28.71
CL68.56
DCX69.80
DD52.95
DISH42.51
DTC9.13
EGO6.20
EL48.15
FHN44.05
FIS45.80
HAS29.47
ICE158.05
IR44.00
JBHT27.48
KG18.66
LWSN8.44
MCK56.93
MHK93.12
MOS26.26
NBL57.06
NMX134.59
NOC74.67
NOK23.02
NRG63.71
ONNN10.46
OSK54.77
PD124.77
POT161.00
QCOM41.57
RRI17.06
SHLD187.27
SIMO21.50
SNE52.77
STI85.65
TRA17.78
UTX68.75
UVN35.97
VSEA49.18
WCI23.64
WHR95.04
XLP26.86

[/Trading/Darvas/D200702] permanent link


Darvas Results at EOD 2007/02/26 with EOD Signal of 2007/02/23

In comparison, the Dow Jones Industrial Index opened at 12647, had a higher high of 12697, had a lower low of 12608, and closed down for the day at 12632.

Symbol#OpenHighLowCloseStopO->HO->C
ABC154.9054.9653.5854.0254.400.06-0.88
ACS254.1054.2653.4053.5353.440.16-0.57
AET346.0646.1545.3945.8645.380.09-0.20
AGIX111.5211.7511.4511.5710.840.230.05
AKS122.5622.8322.2722.3322.030.27-0.23
ALGN317.1917.3416.9216.9817.010.15-0.21
ALKS217.5217.6517.3417.4517.300.13-0.07
AMT240.2540.6340.0040.4440.460.380.19
AOC238.7039.1838.5738.6938.950.48-0.01
AQNT127.6327.7726.9727.3428.190.14-0.29
ARBA29.809.959.669.759.790.15-0.05
AT163.3063.8862.3662.7463.010.58-0.56
BAX250.0050.1949.7150.1550.320.190.15
BBBY142.7242.8142.1242.4542.540.09-0.27
BG184.5085.4983.5784.2484.030.99-0.26
BGC353.2553.4951.8952.1353.200.24-1.12
BSG113.7413.7513.4413.5013.430.01-0.24
BUD150.0350.1049.5649.8151.560.07-0.22
BYD149.0149.2448.2548.6247.820.23-0.39
CBSS170.3370.5070.1070.2769.850.17-0.06
CE329.6629.9429.4529.7828.710.280.12
CECO130.1930.2929.6529.8629.850.10-0.33
CERN254.2854.4753.6153.9453.280.19-0.34
CHRW153.9854.1651.8952.4053.500.18-1.58
CL268.5368.7668.0468.4768.560.23-0.06
CNP118.3818.9518.3218.3717.860.57-0.01
COH250.3050.3848.7448.9349.450.08-1.37
COST357.9258.0756.9757.4057.180.15-0.52
CTB116.2716.3715.7615.8916.330.10-0.38
CTV240.0040.2339.2239.5137.950.23-0.49
CX136.9937.0736.2036.5436.370.08-0.45
DCEL19.409.579.259.439.090.170.03
DCX170.8270.8870.3270.5771.100.06-0.25
DD353.5053.6753.0153.1452.950.17-0.36
DG217.8217.8417.5617.6417.540.02-0.18
DISH242.7542.9042.2442.4742.510.15-0.28
DLTR234.1934.4233.8234.1833.890.23-0.01
DOW246.4247.2644.7644.9942.680.84-1.43
DTC28.858.988.508.979.130.130.12
EBAY134.2834.3533.0733.4233.800.07-0.86
EDS329.0229.2128.9129.1329.310.190.11
EEM2118.04118.23116.57117.45116.500.19-0.59
EFA377.1677.1876.7176.7276.050.02-0.44
EGO26.416.456.356.426.200.040.01
EL147.7147.7547.1347.3148.150.04-0.40
EXP148.7048.7147.9848.0548.420.01-0.65
EXPE121.7521.9821.4821.7121.650.23-0.04
FEIC134.4734.6534.0034.0734.600.18-0.40
FHN244.7244.8243.9944.3344.050.10-0.39
FIS347.2947.3246.5346.7945.800.03-0.50
FISV354.6555.0054.0454.1854.030.35-0.47
FRK167.8068.1967.6267.9963.850.390.19
GIGM113.5013.7013.0513.1212.800.20-0.38
GNW136.1936.4135.9036.0436.870.22-0.15
GS1217.99218.37212.66214.00220.510.38-3.99
HAS229.5329.5529.1529.2529.470.02-0.28
HLT136.8537.0035.8936.1335.840.15-0.72
HLTH115.4215.4214.9515.0315.480.00-0.39
HNZ147.2147.3346.7647.0147.320.12-0.20
HRP113.3713.3913.1813.3113.490.02-0.06
IACI140.5840.9940.5240.7439.480.410.16
ICE2163.15164.98156.06157.21158.051.83-5.94
IP137.4238.0037.2537.4637.580.580.04
IR345.5045.6244.6745.1144.000.12-0.39
JBHT328.0828.0826.9927.1227.480.00-0.96
JCP284.6884.6882.7083.0085.680.00-1.68
KG218.7218.8218.3418.4318.660.10-0.29
KMB169.9170.1069.5669.9069.970.19-0.01
LWSN28.468.508.318.348.440.04-0.12
LYO133.0033.5832.3433.0432.480.580.04
MCD346.0046.1545.7645.8045.000.15-0.20
MCK357.4058.0757.1257.1356.930.67-0.27
MHK292.8092.8089.5090.8093.120.00-2.00
MIR238.1939.0037.7638.1936.690.810.00
MNST352.5753.0051.9052.3752.440.43-0.20
MON155.9656.0954.5954.7956.240.13-1.17
MOS326.8827.0626.2026.4026.260.18-0.48
MTW163.7163.9661.5561.8759.250.25-1.84
NBL358.8759.4858.3858.4457.060.61-0.43
NCC138.2538.2538.0338.1638.350.00-0.09
NMX1137.46139.39132.78132.99134.591.93-4.47
NOC373.9074.6073.3973.8475.220.70-0.06
NOK222.8623.0322.7523.0323.020.170.17
NRG268.0070.0067.3067.7561.632.00-0.25
NRPH163.4363.5063.3063.3361.150.07-0.10
NWL131.5631.6631.0731.1030.550.10-0.46
NYB117.0817.3416.8116.9017.350.26-0.18
ONNN310.8210.8810.5310.5810.460.06-0.24
OSK156.4457.2855.2155.6954.770.84-0.75
PD2126.95128.00126.70127.57124.771.050.62
PNC175.7075.8875.3675.6674.300.18-0.04
POT2168.00168.58164.50165.01161.000.58-2.99
PRU192.4592.7391.8992.3792.830.28-0.08
PSSI121.5621.5921.2621.3921.390.03-0.17
PWR223.8023.9423.1623.6823.310.14-0.12
PX164.9865.0064.1164.2464.200.02-0.74
QCOM243.2643.3042.2542.6540.850.04-0.61
RFMD18.548.568.408.478.150.02-0.07
RRI317.1017.7416.8117.3116.180.640.21
RSH222.7922.8822.3322.4523.100.09-0.34
RTH2105.60105.67104.28105.00106.380.07-0.60
RYI134.9735.1034.2734.8834.310.13-0.09
SGMS134.3934.3933.4933.7033.290.00-0.69
SHLD2188.89189.70184.69186.64187.270.81-2.25
SIMO221.8122.1421.6021.9921.500.330.18
SNE152.9952.9952.4852.9052.770.00-0.09
STI287.0087.2186.2286.7585.650.21-0.25
STM120.1120.1819.9920.1819.920.070.07
SVM113.8513.9013.6313.7813.500.05-0.07
TEVA137.9437.9537.2437.5137.760.01-0.43
TEX272.2572.7568.3568.7268.200.50-3.53
TGT163.1263.4362.2362.5563.200.31-0.57
TIF342.8945.9842.8245.0641.483.092.17
TMX130.6730.9330.3530.5430.750.26-0.13
TRA318.4818.6318.0418.2617.780.15-0.22
TRN345.1245.1243.8244.3244.410.00-0.80
URBN126.3826.8425.7525.8126.890.46-0.57
URI129.0029.1928.7628.9028.880.19-0.10
UST260.5060.5059.8659.8759.440.00-0.63
UTX267.8068.2066.8067.2368.750.40-0.57
UVN136.0436.0935.9535.9635.970.05-0.08
VSEA250.3950.3948.6949.6149.180.00-0.78
WB357.2957.4956.6757.0758.060.20-0.22
WCI122.0022.0221.2121.4423.640.02-0.56
WHR193.7493.9692.6493.5595.040.22-0.19
WLP281.0581.3380.6181.1381.600.280.08
WYN135.4835.6235.3035.3935.100.14-0.09
XLP326.8226.8426.7026.8126.860.02-0.01
XLY139.8539.8839.3839.5139.990.03-0.34
YHOO332.8032.8430.8532.1230.790.04-0.68
ZMH185.7085.8085.1085.3785.940.10-0.33
1315918.5236.14-62.47

[/Trading/Darvas/D200702] permanent link


2007 Feb 26 - Mon

Event Logs: Some Stuff To Try At Home

Somewhere in my collection of Monitoring Server Configs, I have some information on getting Cisco syslog stuff into a separate file.

For another customer site, I used Nagios coupled with Steve Shipway's Nagios EventLog agent for Windows to collect specific Windows Events and alarm on them. It was interesting and convoluted experience to get all this working. If there is interest, I'll post my process notes on how I got the whole thing integrated.

Today, or rather originally a week ago, an ISP requested that I forward some router syslog events to them so they could correlate their events with mine, or vice versa, my events with theirs. (ok, contrary to one of my recent articles, some ISP's do see the light of day in troubleshooting, although this same one hasn't quite grasped the IP SLA bonus yet).

Anyway, two routers, the endpoints on an mpls link, in two different regions behind two different firewalls are at issue. The knee jerk reaction is to add a second syslog entry in each router to forward to the ISP's syslog address. This will require, in addition to the second entry in each router, entries in each firewall.

That seemed silly. I thought: why not just forward the syslog entries from the server instead. Well, not so easy with the standard sylogd daemon in Debian.

Some searching lead to a number of interesting alternatives. The one slated for immediate testing is to try BalaBit's syslog-ng where I can forward based upon more refined rules such as host and message content. This is a simple Debian apt-get upgrade. DebianHelp offers some instrucitons for installation and use with php=-syslog-ng. Jeremy Mates's syslog-ng blog discusses some further syslog-ng configuration details. As a sidetrack, his blog also has some stuff for sendmail and other Linux Geek stuff. As a point of reference, one more syslog-ng site is cudeso.be.

Once I've got syslog-ng going, and the cisco log entries forwarded, I'm thinking about stopping event log watching with Nagios and Shipway's thing and instead trying Intersect Alliance's Snare Agent for windows sending syslog events to syslog-ng. I see they also know how to do stuff with Snort Logs, Apache Logs, and others.

Something I see a lot of words about but no real specifics is Splunk. They proclaim to be able to scan and correlate and do queries on logs from many servers. That could be an interesting tool, and free for systems with daily log files under 500M.

[/OpenSource] permanent link


Note To Self: Network Performance Link

Unbelievable. The name slipped my mind. And a simple internet search for my favorite network performance tool, IPerf, becomes an exercise in frustration. Finally. With an indirect hop through Les Cottrell's Network Monitoring Tools List, I was able to track it down.

My problem was that I had IPTraf and couldn't recall the real one I wanted.

Just so I land here again with the appropriate queries, here is what I tried:

  • open source ip traffic simulator

While on the subject of network performance, I've noticed that some ISP's like to play deaf, dumb and blind to customer performance issues. Some wireless ISP's have installed central wireless access points that don't provide SNMP access. So when RF and related radio issues hit, they are unable to troubleshoot anything other than through the WAG (Wild Ass Guess) principle.

And for one more performance whine, ... are there any ISP's out there who provide routers that can act as Cisco IP SLA Responders to customer routers? This greatly facilitates link quality testing. However, ISP's seem to be deathly afraid of airing their dirty laundry. One would think that this would, instead, be a positive thing in terms of improving traffic quality, especially at the corporate level.

If you have comments on this, I'd like to hear them over on the forums.

[/OpenSource] permanent link


Trading Site of the Day -- The Option Insider: High Level News And Commentary

The Options Insider is a relatively new site and founded by an options trader by the name of Mark S. Longo.

The site has a few introductory articles to options trading. Hopefully, as time goes on, the substance will be filled out. For nitty gritty options information, I have already discussed a few sites, so nothing here is not such a bad thing.

The site's current strength is the news links. It looks as though they follow quite a number of news sources and provide links to Options related stories and other primary news sources. This is a good starting point for options related news releases.

[/Trading/SiteOfTheDay/D200702] permanent link


Lighting Design for Sordid Lives

I've already accumulated a week of updates that havn't been performed yet for various and sundry things on this site. It looks like I'll have to fit things in when I can. I hadn't quite expected the time commitment. But I am having fun and learning something completely different. So if updates are slow for a while longer yet, hang tight, I'll get the stuff up sooner, or later. I'd really like to do it sooner myself, but we'll see how things go.

I'm volunteering at the Bermuda Musical and Dramatic Society as a crew member working the lights for the production of Sordid Lives by Del Shores. Mary Brier is lighting designer. I've been following her around, trying not to get too much in the way, but still trying to soak it all in. Not until one has been on that side of the theatre does one realize just how much work there is in producing a successful production. Warm and dark washes, cross lights, specials, down lights, sub-masters, amber and blue and lavendar colors, cues, ...

Opening is on March 1. At that time, the hectic design should boil down to pressing the 'go' button at the correct time on cue calls from the stage manager, in this case Nicola. Supervising the whole funny farm, and a good guy to work with, is the director Keith Madeiros.

[/Personal/Bermuda/Personal] permanent link


Darvas Selections for 2007/02/26

Here are the selections for Monday. These lists have the Darvas stop calculated in the second column.

Start: 2007-01-23
High: 2007-02-20
EOD: 2007-02-23
SymbolStop
ACS53.44
AET45.38
ALGN17.01
ALKS17.30
AMT40.46
AOC38.95
AT63.01
BAX50.32
BG84.03
BGC53.20
BYD47.82
CE28.71
CERN53.28
CHRW53.50
CL68.56
CNP17.86
COH49.45
COST57.18
CTB16.33
CTV37.95
CX36.37
DD52.95
DG17.54
DISH42.51
DLTR33.89
DTC9.13
EBAY33.80
EDS29.31
EEM116.50
EFA76.05
EXP48.42
FEIC34.60
FHN44.05
FIS45.80
FISV54.03
FRK63.85
GIGM12.80
GNW36.87
GS220.51
HLT35.84
HLTH15.48
IACI39.48
ICE158.05
IR44.00
JBHT27.48
JCP85.68
KMB69.97
LWSN8.44
LYO32.48
MCD45.00
MCK56.93
MHK93.12
MIR36.69
MNST52.44
MOS26.26
MTW59.25
NBL57.06
NOC75.22
NRG61.63
NRPH61.15
NWL30.55
NYB17.35
ONNN10.46
PNC74.30
POT161.00
PRU92.83
PSSI21.39
PWR23.31
PX64.20
RFMD8.15
RRI16.18
RSH23.10
RTH106.38
SHLD187.27
SIMO21.50
STM19.92
SVM13.50
TGT63.20
TIF41.48
TMX30.75
TRA17.78
TRN44.41
URBN26.89
UST59.44
WB58.06
WLP81.60
WYN35.10
XLP26.86
XLY39.99
YHOO30.79
ZMH85.94

Start: 2007-01-23
High: 2007-02-16
EOD: 2007-02-23
SymbolStop
AET45.38
ALGN17.01
ALKS17.30
AOC38.95
ARBA9.79
BGC53.20
BSG13.43
CBSS69.85
CE28.71
CL68.56
COH49.45
COST57.18
DCX71.10
DD52.95
DISH42.51
DOW42.68
DTC9.13
EDS29.31
EFA76.05
EGO6.20
EL48.15
FHN44.05
FIS45.80
FISV54.03
HAS29.47
ICE158.05
IP37.58
IR44.00
JBHT27.48
KG18.66
LWSN8.44
MCD45.00
MCK56.93
MHK93.12
MIR36.69
MNST52.44
MOS26.26
NBL57.06
NCC38.35
NMX134.59
NOC75.22
NOK23.02
NRG61.63
ONNN10.46
OSK54.77
PD124.77
POT161.00
QCOM40.85
RRI16.18
SHLD187.27
SIMO21.50
SNE52.77
STI85.65
TEX68.20
TIF41.48
TRA17.78
TRN44.41
UTX68.75
UVN35.97
VSEA49.18
WB58.06
WCI23.64
WHR95.04
XLP26.86
YHOO30.79

Start: 2007-01-23
High: 2007-02-15
EOD: 2007-02-23
SymbolStop
ABC54.40
ACS53.44
AET45.38
AGIX10.84
AKS22.03
ALGN17.01
AMT40.46
AQNT28.19
ARBA9.79
BAX50.32
BBBY42.54
BGC53.20
BUD51.56
CE28.71
CECO29.85
CERN53.28
COST57.18
CTV37.95
DCEL9.09
DD52.95
DG17.54
DLTR33.89
DOW42.68
EDS29.31
EEM116.50
EFA76.05
EGO6.20
EXPE21.65
FIS45.80
FISV54.03
HAS29.47
HNZ47.32
HRP13.49
IR44.00
JBHT27.48
JCP85.68
KG18.66
MCD45.00
MCK56.93
MNST52.44
MON56.24
MOS26.26
NBL57.06
NOC75.22
NOK23.02
ONNN10.46
PD124.77
PWR23.31
QCOM40.85
RRI16.18
RSH23.10
RTH106.38
RYI34.31
SGMS33.29
STI85.65
TEVA37.76
TEX68.20
TIF41.48
TRA17.78
TRN44.41
URI28.88
UST59.44
UTX68.75
VSEA49.18
WB58.06
WLP81.60
XLP26.86
YHOO30.79

[/Trading/Darvas/D200702] permanent link


2007 Feb 24 - Sat

Trading Site of the Day -- Trade The News: Live News for the Ears and Eyes

Trade The News is a 24 hour Audio News Squawk service for Equities, Credit and Forex. They also provide news through a streaming service. For both visual and aural news feeds, you'll need to install a downloadable software client. They have a free 7 day trial. The subscription prices seem reasonable. It sounds as though it gets you to the heart of the markets to provide the real time feeling for the ebb and flow.

[/Trading/SiteOfTheDay/D200702] permanent link


Darvas Results at EOD 2007/02/23 with EOD Signal of 2007/02/22

In comparison, the Dow Jones Industrial Index opened at 12679, had a lower high of 12682, had a lower low of 12628, and closed down for the day at 12647.

Symbol#OpenHighLowCloseStopO->HO->C
ABB117.7917.8917.7717.8518.620.100.06
ABC254.8155.1354.4555.0154.400.320.20
ACS154.4254.4253.6554.0153.440.00-0.41
ADP150.7851.2450.6151.1850.330.460.40
AET246.0746.2345.6746.0644.320.16-0.01
AGIX111.6211.7511.2511.5810.840.13-0.04
AKS122.7523.0822.2822.4122.030.33-0.34
ALGN317.4317.4317.0917.2617.010.00-0.17
ALKS117.7717.8017.3417.4217.300.03-0.35
AMP162.9562.9562.0562.6361.750.00-0.32
AMT140.4740.6440.1840.2540.460.17-0.22
AMX147.0047.2146.7847.1545.760.210.15
AOC138.6639.0438.5038.7038.950.380.04
AQNT127.6327.9827.2527.4428.190.35-0.19
ARBA310.0510.089.849.859.790.03-0.20
AVP138.4138.9738.2838.5639.720.560.15
BAX150.5450.5449.4849.8150.320.00-0.73
BBBY243.1343.3242.3942.5742.540.19-0.56
BGC353.2253.5052.5152.8053.200.28-0.42
BNI184.3084.4582.9583.9184.570.15-0.39
BSG213.6613.6913.3613.6613.430.030.00
BUD150.3550.3550.0250.0551.560.00-0.30
CBS131.5231.5331.1231.3231.680.01-0.20
CBSS169.9670.0569.9069.9569.850.09-0.01
CE329.1229.8729.0529.6328.710.750.51
CECO129.7130.3229.6230.0828.130.610.37
CEG175.7076.2575.4676.0874.400.550.38
CEN233.8833.9733.6933.8433.630.09-0.04
CERN253.4754.3953.4154.2753.280.920.80
CL168.1968.4467.7468.3368.560.250.14
CMI1144.00145.24143.73144.65138.581.240.65
COH249.9550.2849.5449.9749.450.330.02
CORI15.025.055.025.034.920.030.01
COST258.1058.1957.2757.4757.180.09-0.63
CRUS18.659.448.658.918.460.790.26
CSX140.5040.7940.0640.4239.690.29-0.08
CTV138.0039.6937.5039.1436.911.691.14
CVH156.1856.2755.6355.7556.430.09-0.43
CX137.4837.5036.4336.6036.370.02-0.88
DCEL19.459.469.289.339.080.01-0.12
DCX170.3071.1070.2870.9271.100.800.62
DD352.2753.1151.7752.9952.950.840.72
DG117.8717.9017.5017.7417.540.03-0.13
DISH142.6342.9342.4742.5242.510.30-0.11
DLTR234.3434.3633.8234.0533.890.02-0.29
DOW342.8443.6842.4343.4542.680.840.61
DTC18.999.048.808.809.210.05-0.19
EDS328.8729.0328.7628.9729.310.160.10
EEM2118.24118.65116.70117.50116.500.41-0.74
EFA376.5576.7976.4876.6876.050.240.13
EGO26.546.556.356.406.200.01-0.14
EL146.9147.5846.8147.3648.150.670.45
ETN284.4084.8983.4884.0482.240.49-0.36
EXPE222.1022.1221.5821.7021.650.02-0.40
FHN144.9345.0544.5044.6644.050.12-0.27
FIS346.9847.1846.8247.0445.800.200.06
FISV354.8854.9754.3354.6953.340.09-0.19
HAS229.5629.7029.2329.3129.470.14-0.25
HNT354.6555.0054.4654.5053.130.35-0.15
HNZ147.8347.8346.9747.2147.320.00-0.62
HRP113.2813.4013.1413.3113.490.120.03
HTZ121.9521.9521.4021.5621.650.00-0.39
IACI140.6240.6940.2340.5839.480.07-0.04
IAR134.5035.2434.5035.1734.890.740.67
ICE1160.15164.00159.20161.94158.053.851.79
IP237.1337.2736.9537.1836.590.140.05
IR244.4045.2744.2845.2044.000.870.80
JBHT327.8528.1327.4728.0727.480.280.22
JCP183.9884.6183.2584.0585.680.630.07
KG318.7518.8218.5318.7118.660.07-0.04
LWSN18.538.608.308.478.440.07-0.06
MCD246.0546.2145.8346.0145.000.16-0.04
MCK257.2657.5756.7657.3956.930.310.13
MET165.9865.9865.0765.2665.790.00-0.72
MFE131.5231.8031.2231.6530.260.280.13
MHK192.7193.0392.1792.9593.120.320.24
MIR235.9537.0135.9037.0135.651.061.06
MLS125.2025.2025.1125.1425.700.00-0.06
MNST253.8853.9552.2452.3652.440.07-1.52
MON156.5556.6055.6255.7456.240.05-0.81
MOS326.3826.8026.1826.4726.260.420.09
NBL358.8259.0058.0458.6557.060.18-0.17
NCC138.3838.3838.0838.1938.350.00-0.19
NKE2108.23108.23107.18108.04105.380.00-0.19
NMX1135.81139.42135.81138.61134.593.612.80
NOC274.2574.6573.8174.4275.220.400.17
NOK322.7822.9622.7522.8423.020.180.06
NOV169.6470.3969.0869.8568.850.750.21
NRG162.2063.8162.2063.5261.631.611.32
NUAN214.9015.0914.8715.0714.360.190.17
NVL143.9043.9943.8643.9144.000.090.01
NWL131.8031.8731.5631.7430.550.07-0.06
ONNN310.4910.7810.4310.769.910.290.27
OSI140.6540.7040.0640.4540.490.05-0.20
OSK156.0156.6955.6456.6954.490.680.68
PAYX141.9242.4341.7342.3840.890.510.46
PCAR374.1774.2372.9273.2272.450.06-0.95
PD2126.40126.99126.25126.55124.770.590.15
PNC175.9575.9575.2875.5074.650.00-0.45
POT1165.50168.22165.16167.11161.002.721.61
PSSI121.6621.6621.4421.5621.160.00-0.10
PWR123.0523.6623.0123.6222.440.610.57
PX164.4864.9364.1464.7364.200.450.25
QCOM243.2043.6142.5743.3640.850.410.16
RIO137.1437.1736.2236.6936.680.03-0.45
RL287.7588.0986.8387.5487.160.34-0.21
RRI316.2916.3816.0616.2816.180.09-0.01
RSH123.3023.3322.5522.6223.100.03-0.68
RTH1105.75106.21105.05105.43106.380.46-0.32
RYI134.8035.0834.3034.7534.310.28-0.05
SGMS134.3734.6034.2834.3233.290.23-0.05
SHLD1189.19189.92186.85187.65187.270.73-1.54
SIMO121.6922.0021.5521.8721.500.310.18
SLE117.2217.2717.1417.2517.300.050.03
SNE252.8553.0052.0452.2752.770.15-0.58
TEVA237.7437.9937.0737.6337.760.25-0.11
TEX270.6971.5070.1771.0268.200.810.33
TIF342.7343.0042.5642.8641.860.270.13
TRA317.7218.3017.6318.1317.780.580.41
TRN343.3044.9042.7944.7042.121.601.40
TTWO119.7520.3519.5419.7920.320.600.04
UNP1103.50104.32102.87103.88104.260.820.38
URBN126.3526.4325.7526.1425.480.08-0.21
URI128.9129.0228.4729.0028.880.110.09
UST160.6760.7160.0560.3159.440.04-0.36
UTX267.2567.5967.0167.5568.750.340.30
UVN136.0136.0335.9635.9835.970.02-0.03
VSEA248.4949.6447.8849.3149.181.150.82
WB358.7758.7757.4357.7458.060.00-1.03
WCI122.4022.4821.6521.6823.640.08-0.72
WHR193.1593.7592.5193.3595.040.600.20
WLP181.7681.7881.0381.5081.600.02-0.26
XLP226.8226.8226.7126.8226.860.000.00
YHOO331.6032.1831.4132.1030.790.580.50
1345822.6851.123.47

[/Trading/Darvas/D200702] permanent link


2007 Feb 23 - Fri

Darvas Selections for 2007/02/23

Here are the selections for Friday. These lists have the Darvas stop calculated in the second column.

Start: 2007-01-22
High: 2007-02-16
EOD: 2007-02-22
SymbolStop
AET44.32
ALGN17.01
ALKS17.30
AOC38.95
ARBA9.79
AVP39.72
BGC53.20
BSG13.43
CBSS69.85
CE28.71
CEN33.63
CL68.56
COH49.45
COST57.18
CVH56.43
DCX71.10
DD52.95
DISH42.51
DOW42.68
DTC9.21
EDS29.31
EFA76.05
EGO6.20
EL48.15
FHN44.05
FIS45.80
FISV53.34
HAS29.47
HNT53.13
ICE158.05
IP36.59
IR44.00
JBHT27.48
KG18.66
LWSN8.44
MCD45.00
MCK56.93
MHK93.12
MIR35.65
MNST52.44
MOS26.26
NBL57.06
NCC38.35
NKE105.38
NMX134.59
NOC75.22
NOK23.02
NRG61.63
ONNN9.91
OSK54.49
PCAR72.45
PD124.77
POT161.00
QCOM40.85
RL87.16
RRI16.18
SHLD187.27
SIMO21.50
SNE52.77
TEX68.20
TIF41.86
TRA17.78
TRN42.12
UTX68.75
UVN35.97
VSEA49.18
WB58.06
WCI23.64
WHR95.04
XLP26.86
YHOO30.79

Start: 2007-01-22
High: 2007-02-15
EOD: 2007-02-22
SymbolStop
ABC54.40
ACS53.44
AET44.32
AGIX10.84
AKS22.03
ALGN17.01
AMT40.46
AQNT28.19
ARBA9.79
BAX50.32
BBBY42.54
BGC53.20
BUD51.56
CE28.71
CECO28.13
CEN33.63
CERN53.28
COST57.18
CTV36.91
DCEL9.08
DD52.95
DG17.54
DLTR33.89
DOW42.68
EDS29.31
EEM116.50
EFA76.05
EGO6.20
ETN82.24
EXPE21.65
FIS45.80
FISV53.34
HAS29.47
HNT53.13
HNZ47.32
HRP13.49
IR44.00
JBHT27.48
JCP85.68
KG18.66
MCD45.00
MCK56.93
MLS25.70
MNST52.44
MON56.24
MOS26.26
NBL57.06
NOC75.22
NOK23.02
NUAN14.36
ONNN9.91
PCAR72.45
PD124.77
PWR22.44
QCOM40.85
RL87.16
RRI16.18
RSH23.10
RTH106.38
RYI34.31
SGMS33.29
TEVA37.76
TEX68.20
TIF41.86
TRA17.78
TRN42.12
URI28.88
UST59.44
UTX68.75
VSEA49.18
WB58.06
WLP81.60
XLP26.86
YHOO30.79

Start: 2007-01-22
High: 2007-02-14
EOD: 2007-02-22
SymbolStop
ABB18.62
ABC54.40
ADP50.33
ALGN17.01
AMP61.75
AMX45.76
ARBA9.79
BBBY42.54
BGC53.20
BNI84.57
BSG13.43
CBS31.68
CE28.71
CEG74.40
CERN53.28
CMI138.58
COH49.45
CORI4.92
CRUS8.46
CSX39.69
CX36.37
DD52.95
DLTR33.89
DOW42.68
EDS29.31
EEM116.50
EFA76.05
ETN82.24
EXPE21.65
FIS45.80
FISV53.34
HNT53.13
HTZ21.65
IACI39.48
IAR34.89
IP36.59
JBHT27.48
KG18.66
MET65.79
MFE30.26
MIR35.65
MOS26.26
NBL57.06
NKE105.38
NOK23.02
NOV68.85
NUAN14.36
NVL44.00
NWL30.55
ONNN9.91
OSI40.49
PAYX40.89
PCAR72.45
PNC74.65
PSSI21.16
PX64.20
RIO36.68
RRI16.18
SLE17.30
SNE52.77
TEVA37.76
TIF41.86
TRA17.78
TRN42.12
TTWO20.32
UNP104.26
URBN25.48
WB58.06
YHOO30.79

[/Trading/Darvas/D200702] permanent link


Darvas Results at EOD 2007/02/22 with EOD Signal of 2007/02/21

In comparison, the Dow Jones Industrial Index opened at 12735, had a lower high of 12763, had a lower low of 12650, and closed down for the day at 12686.

Symbol#OpenHighLowCloseStopO->HO->C
ABB117.8717.9617.8217.9218.620.090.05
ABC254.8555.0054.6954.8454.400.15-0.01
ACS154.3554.5053.8454.4353.440.150.08
ADP250.7551.0450.3550.9150.330.290.16
AET145.8346.2645.4446.1344.320.430.30
AGIX111.5911.9111.0511.8210.840.320.23
AKS123.0323.1922.4822.7522.030.16-0.28
ALGN317.6617.7717.3017.5117.010.11-0.15
AMP162.7463.0362.6062.9261.750.290.18
AMT140.6041.1540.1740.3840.460.55-0.22
AMX147.8148.2546.9647.1945.760.44-0.62
APPB126.8427.0026.5126.6426.150.16-0.20
AQNT127.8027.9827.2827.7328.190.18-0.07
ARBA210.0810.149.8110.109.790.060.02
BAX150.3950.5950.1750.3150.320.20-0.08
BBBY242.7843.0242.5743.0242.540.240.24
BGC353.2053.5252.2153.4250.510.320.22
BNI184.9085.9084.1984.9284.571.000.02
BSG113.6913.7113.5813.6813.430.02-0.01
BUD150.8251.1150.2350.3951.560.29-0.43
CBS131.7531.8131.3531.5531.680.06-0.20
CE329.8729.9729.0229.1928.710.10-0.68
CECO229.2329.7829.2329.7128.130.550.48
CEN233.9534.0433.8333.8833.630.09-0.07
CERN353.1853.6952.9353.3250.950.510.14
CMI1146.40146.57143.54144.24138.580.17-2.16
COH249.8550.0849.1249.7349.450.23-0.12
CORI15.005.045.005.024.650.040.02
COST158.3358.3357.5558.0957.180.00-0.24
CRUS18.338.618.298.507.800.280.17
CSX241.2041.5040.1440.4539.690.30-0.75
CTV137.3037.3736.6337.1736.910.07-0.13
CX137.7538.0137.2037.4336.370.26-0.32
D185.1585.6084.8085.3584.700.450.20
DCEL19.319.519.169.489.080.200.17
DD253.0053.1852.3652.6452.950.18-0.36
DG117.9518.0017.7817.8717.540.05-0.08
DLTR234.6134.6934.0034.2333.890.08-0.38
DOW343.1043.4242.7443.0042.680.32-0.10
EDS329.4029.4128.8728.9929.310.01-0.41
EEM2119.18119.58118.09118.50116.500.40-0.68
EFA276.2876.4676.1776.4476.050.180.16
EGO16.406.506.336.386.200.10-0.02
ETN281.0583.4780.8283.3577.212.422.30
EXPE222.3422.4721.8922.1421.650.13-0.20
FIS247.1547.3046.6547.0045.800.15-0.15
FISV254.9754.9754.3454.8953.340.00-0.08
GM135.5935.5934.5034.6335.990.00-0.96
HAS129.6429.8029.5029.6529.470.160.01
HNT354.3055.0054.2154.5453.130.700.24
HNZ147.7347.8947.3847.5647.320.16-0.17
HRP113.4113.4513.2513.3213.490.04-0.09
HTZ121.7522.0521.6921.7021.650.30-0.05
IACI140.2340.6240.1740.5539.480.390.32
IAR235.5035.6435.0435.4334.890.14-0.07
IP237.6137.7037.0637.1336.590.09-0.48
IR144.3044.6744.2844.5844.000.370.28
JBHT327.6028.1427.4227.8627.480.540.26
JCP184.6085.2682.1483.3985.680.66-1.21
KG218.5818.7818.5618.7518.660.200.17
LTR144.2444.3444.0744.1743.510.10-0.07
MCD145.8546.0945.8146.0545.000.240.20
MCK157.4557.7357.0857.1956.930.28-0.26
MET265.5066.2565.5065.9264.750.750.42
MFE130.3231.5530.3131.4830.261.231.16
MIR135.8936.1035.7335.9535.650.210.06
MLS125.2425.2525.1325.2025.700.01-0.04
MNST154.4154.5253.1153.6152.440.11-0.80
MON156.5057.0856.0056.4856.240.58-0.02
MOS326.8727.2325.5226.2426.260.36-0.63
NBL256.9958.8756.9958.6957.061.881.70
NKE2106.90108.30106.64108.23105.381.401.33
NOC275.1075.3574.4574.7275.220.25-0.38
NOK322.8422.8622.7022.8423.020.020.00
NOV267.6069.4967.0869.1368.851.891.53
NUAN214.9915.1614.7814.8714.360.17-0.12
NVL143.9544.0243.8643.9244.000.07-0.03
NWL131.8931.9531.5731.7530.550.06-0.14
ONNN210.3510.6510.2410.449.910.300.09
OSI240.5140.6940.4740.5240.490.180.01
PAYX141.5741.8041.1741.7940.890.230.22
PCAR273.9373.9672.8073.9672.450.030.03
PD1126.49126.60125.60126.22124.770.11-0.27
PNC275.9176.2175.2775.7074.650.30-0.21
PSSI121.5521.6421.4321.5921.160.090.04
PWR123.2023.4322.1223.0121.570.23-0.19
PX264.3564.6963.9464.4364.200.340.08
QCOM142.2242.8042.0342.7939.910.580.57
RIO237.4938.0536.6737.1036.680.56-0.39
RL188.2288.8086.9787.7087.160.58-0.52
RRI216.3416.4916.1216.2416.180.15-0.10
RSH123.3923.5923.0723.3523.100.20-0.04
RTH1105.90106.13104.85105.50106.380.23-0.40
RYI135.4335.4934.4734.8034.310.06-0.63
SGMS134.4734.5634.1434.5433.290.090.07
SLE117.2217.3217.1417.2717.300.100.05
SNE252.7052.7852.3052.4752.770.08-0.23
TEVA338.4038.4837.4537.7437.760.08-0.66
TEX171.5971.6069.4670.6168.200.01-0.98
TIF342.8942.9342.3742.8141.860.04-0.08
TRA318.1118.7717.0017.6817.780.66-0.43
TRN345.5046.0042.2643.3042.120.50-2.20
TSG132.4432.4932.3832.4232.520.05-0.02
TTWO119.8020.0419.5619.8320.320.240.03
UNP1104.89105.84103.52104.11104.260.95-0.78
URBN126.9027.1626.1826.2925.480.26-0.61
URI129.0729.2328.7128.9928.880.16-0.08
UST160.9560.9960.2760.4959.440.04-0.46
UTX167.5168.0667.0667.5068.750.55-0.01
VSEA148.4749.0147.7948.4749.180.540.00
WB358.5358.8058.4558.7758.060.270.24
WLP182.0082.0581.3681.7681.600.05-0.24
WYN135.0535.3535.0435.2935.100.300.24
XLP126.8526.9326.7326.8026.860.08-0.05
YHOO231.5932.0831.3231.6030.790.490.01
1155005.8735.84-9.80

[/Trading/Darvas/D200702] permanent link


2007 Feb 22 - Thu

Darvas Selections for 2007/02/22

Here are the selections for Thursday. These lists have the Darvas stop calculated in the second column.

Start: 2007-01-21
High: 2007-02-15
EOD: 2007-02-21
SymbolStop
ABC54.40
ACS53.44
AET44.32
AGIX10.84
AKS22.03
ALGN17.01
AMT40.46
AQNT28.19
ARBA9.79
BAX50.32
BBBY42.54
BGC50.51
BUD51.56
CE28.71
CECO28.13
CEN33.63
CERN50.95
COST57.18
CTV36.91
DCEL9.08
DD52.95
DG17.54
DLTR33.89
DOW42.68
EDS29.31
EEM116.50
EFA76.05
EGO6.20
ETN77.21
EXPE21.65
FIS45.80
FISV53.34
HAS29.47
HNT53.13
HNZ47.32
HRP13.49
IR44.00
JBHT27.48
JCP85.68
KG18.66
MCD45.00
MCK56.93
MLS25.70
MNST52.44
MON56.24
MOS26.26
NBL57.06
NOC75.22
NOK23.02
NUAN14.36
ONNN9.91
PCAR72.45
PD124.77
PWR21.57
QCOM39.91
RL87.16
RRI16.18
RSH23.10
RTH106.38
RYI34.31
SGMS33.29
TEVA37.76
TEX68.20
TIF41.86
TRA17.78
TRN42.12
URI28.88
UST59.44
UTX68.75
VSEA49.18
WB58.06
WLP81.60
XLP26.86
YHOO30.79

Start: 2007-01-21
High: 2007-02-14
EOD: 2007-02-21
SymbolStop
ABB18.62
ABC54.40
ADP50.33
ALGN17.01
AMP61.75
AMX45.76
ARBA9.79
BBBY42.54
BGC50.51
BNI84.57
BSG13.43
CBS31.68
CE28.71
CERN50.95
CMI138.58
COH49.45
CORI4.65
CRUS7.80
CSX39.69
CX36.37
DD52.95
DLTR33.89
DOW42.68
EDS29.31
EEM116.50
EFA76.05
ETN77.21
EXPE21.65
FIS45.80
FISV53.34
HNT53.13
HTZ21.65
IACI39.48
IAR34.89
IP36.59
JBHT27.48
KG18.66
MET64.75
MFE30.26
MIR35.65
MOS26.26
NBL57.06
NKE105.38
NOK23.02
NOV68.85
NUAN14.36
NVL44.00
NWL30.55
ONNN9.91
OSI40.49
PAYX40.89
PCAR72.45
PNC74.65
PSSI21.16
PX64.20
RIO36.68
RRI16.18
SLE17.30
SNE52.77
TEVA37.76
TIF41.86
TRA17.78
TRN42.12
TTWO20.32
UNP104.26
URBN25.48
WB58.06
YHOO30.79

Start: 2007-01-21
High: 2007-02-13
EOD: 2007-02-21
SymbolStop
ADP50.33
ALGN17.01
APPB26.15
BGC50.51
CE28.71
CECO28.13
CEN33.63
CERN50.95
COH49.45
CSX39.69
D84.70
DOW42.68
EDS29.31
GM35.99
HNT53.13
IAR34.89
IP36.59
JBHT27.48
LTR43.51
MET64.75
MOS26.26
NKE105.38
NOC75.22
NOK23.02
NOV68.85
OSI40.49
PNC74.65
PX64.20
RIO36.68
SNE52.77
TEVA37.76
TIF41.86
TRA17.78
TRN42.12
TSG32.52
WB58.06
WYN35.10

[/Trading/Darvas/D200702] permanent link



Darvas Results at EOD 2007/02/21 with EOD Signal of 2007/02/20

In comparison, the Dow Jones Industrial Index opened at 12782, went down from 12782, had a higher low of 12707, and closed down for the day at 12738.

Symbol#OpenHighLowCloseStopO->HO->C
ABB117.8517.8817.7017.8218.620.03-0.03
ABC154.7854.9654.6654.8554.400.180.07
ADP250.4550.8450.3850.8150.330.390.36
ALGN217.7317.8917.5117.5817.010.16-0.15
AMP162.7563.0862.2862.7461.750.33-0.01
AMX147.3047.8947.2247.7145.760.590.41
APPB126.9126.9126.7126.8426.150.00-0.07
ARBA19.9310.009.809.999.790.070.06
BBBY142.7842.8342.4842.6542.540.05-0.13
BGC252.2153.2451.7352.5450.511.030.33
BNI182.0084.9181.1084.6981.562.912.69
BSG113.4613.6813.4613.6713.430.220.21
CBS131.9032.0031.6631.7031.680.10-0.20
CE229.6730.1029.6029.8828.710.430.21
CECO128.9929.8128.8029.3128.130.820.32
CEN133.9534.1333.8433.9933.630.180.04
CERN252.9953.0952.5652.9750.950.10-0.02
COH250.8351.0349.7349.9549.450.20-0.88
CORI15.005.764.995.004.380.760.00
CRUS18.238.318.208.277.800.080.04
CSX239.5041.0339.4840.8739.691.531.37
CX136.4037.7236.3237.5836.371.321.18
DD152.5053.0552.3353.0151.930.550.51
DLTR134.5234.9834.3334.5733.890.460.05
DOW243.1343.2142.9743.0142.680.08-0.12
EDS229.4729.9429.2229.3229.310.47-0.15
EEM1117.58118.88117.13118.63116.501.301.05
EFA175.8476.3875.7076.1076.050.540.26
ETN179.2780.8879.2780.7877.211.611.51
EXPE122.2522.4722.1122.3521.650.220.10
FIS147.3247.3846.8746.9745.800.06-0.35
FISV155.0355.0754.4854.8053.340.04-0.23
GM135.9635.9635.1435.3735.990.00-0.59
HNT254.0454.5754.0054.4353.130.530.39
HTZ122.0022.0021.6021.7421.650.00-0.26
IACI139.9540.4139.8140.2639.480.460.31
IAR235.0035.4234.8035.3834.890.420.38
IP237.4437.6236.8937.5436.590.180.10
JBHT227.1527.7126.9127.5626.540.560.41
KG118.6518.7718.5018.5418.660.12-0.11
MET265.6165.6165.2665.5164.750.00-0.10
MFE129.8830.2529.6730.2330.260.370.35
MIR136.3036.3035.6835.9035.650.00-0.40
MOS225.8526.9125.7426.9024.121.061.05
NBL157.0757.8456.7557.7557.060.770.68
NKE2106.79107.37106.51107.11105.380.580.32
NOC175.4175.7275.0675.2975.220.31-0.12
NOK222.8022.9822.7422.8823.020.180.08
NOV266.5067.8566.3767.8068.851.351.30
NUAN114.9115.0514.8214.9814.360.140.07
NVL144.3544.3543.9043.9544.000.00-0.40
NWL131.5731.9231.4431.8330.550.350.26
ONNN110.2110.3510.1510.259.910.140.04
OSI240.4840.6540.3740.4740.490.17-0.01
PAYX141.6041.7041.0741.6340.890.100.03
PCAR173.6474.0473.0273.9772.450.400.33
PNC276.0076.1575.7375.8574.650.15-0.15
PSSI121.4521.7121.4521.5721.160.260.12
PX264.6064.8264.3064.7364.200.220.13
RRI116.3316.5516.2016.3816.180.220.05
SLE117.3517.4317.1817.2517.300.08-0.10
SNE252.5553.2652.5052.9150.390.710.36
TEVA237.9638.3937.7738.3437.760.430.38
TIF242.4442.7142.2242.6841.860.270.24
TRA217.7818.1817.5318.1116.800.400.33
TRN243.8344.1043.5043.9942.120.270.16
TSG132.4532.4932.4032.4232.520.04-0.03
TTWO120.0120.1019.7419.8220.320.09-0.19
UNP1102.30104.54101.81104.31104.262.242.01
URBN126.6727.0026.4626.9425.480.330.27
WB258.0958.8058.0758.6358.060.710.54
WYN135.1535.3534.9135.0035.100.20-0.15
YHOO131.7431.7731.2231.6530.790.03-0.09
732831.2531.6516.42

[/Trading/Darvas/D200702] permanent link


2007 Feb 21 - Wed

Darvas Selections for 2007/02/21

Here are the selections for Wednesday. These lists have the Darvas stop calculated in the second column.

Start: 2007-01-20
High: 2007-02-14
EOD: 2007-02-20
SymbolStop
ABB18.62
ABC54.40
ADP50.33
ALGN17.01
AMP61.75
AMX45.76
ARBA9.79
BBBY42.54
BGC50.51
BNI81.56
BSG13.43
CBS31.68
CE28.71
CERN50.95
COH49.45
CORI4.38
CRUS7.80
CSX39.69
CX36.37
DD51.93
DLTR33.89
DOW42.68
EDS29.31
EEM116.50
EFA76.05
ETN77.21
EXPE21.65
FIS45.80
FISV53.34
HNT53.13
HTZ21.65
IACI39.48
IAR34.89
IP36.59
JBHT26.54
KG18.66
MET64.75
MFE30.26
MIR35.65
MOS24.12
NBL57.06
NKE105.38
NOK23.02
NOV68.85
NUAN14.36
NVL44.00
NWL30.55
ONNN9.91
OSI40.49
PAYX40.89
PCAR72.45
PNC74.65
PSSI21.16
PX64.20
RRI16.18
SLE17.30
SNE50.39
TEVA37.76
TIF41.86
TRA16.80
TRN42.12
TTWO20.32
UNP104.26
URBN25.48
WB58.06
YHOO30.79

Start: 2007-01-20
High: 2007-02-13
EOD: 2007-02-20
SymbolStop
ADP50.33
ALGN17.01
APPB26.15
BGC50.51
CE28.71
CECO28.13
CEN33.63
CERN50.95
COH49.45
CSX39.69
DOW42.68
EDS29.31
GM35.99
HNT53.13
IAR34.89
IP36.59
JBHT26.54
MET64.75
MOS24.12
NKE105.38
NOC75.22
NOK23.02
NOV68.85
OSI40.49
PNC74.65
PX64.20
SNE50.39
TEVA37.76
TIF41.86
TRA16.80
TRN42.12
TSG32.52
WB58.06
WYN35.10

Start: 2007-01-20
High: 2007-02-13
EOD: 2007-02-20
SymbolStop
ADP50.33
ALGN17.01
APPB26.15
BGC50.51
CE28.71
CECO28.13
CEN33.63
CERN50.95
COH49.45
CSX39.69
DOW42.68
EDS29.31
GM35.99
HNT53.13
IAR34.89
IP36.59
JBHT26.54
MET64.75
MOS24.12
NKE105.38
NOC75.22
NOK23.02
NOV68.85
OSI40.49
PNC74.65
PX64.20
SNE50.39
TEVA37.76
TIF41.86
TRA16.80
TRN42.12
TSG32.52
WB58.06
WYN35.10
Stats: 75 symbols 34 buys

[/Trading/Darvas/D200702] permanent link


Darvas Results at EOD 2007/02/16

In comparison, the Dow Jones Industrial Index opened at 12766, had a higher high of 12795, had a lower low of 12704, and closed up for the day at 12786.

Symbol#OpenHighLowCloseStopO->HO->C
ADP150.8051.0550.5250.6949.770.25-0.11
AEP146.0146.0145.6145.9545.410.00-0.06
AGU239.0339.7338.8939.6138.320.700.58
AINV124.0124.2023.8424.1223.790.190.11
AIV161.6062.2960.7161.9963.410.690.39
AL353.9654.9753.7754.7354.531.010.77
ALGN117.4817.9517.4617.8817.010.470.40
ALVR18.188.278.108.227.770.090.04
AMX148.3048.4547.3047.6845.760.15-0.62
ANAD113.0013.7112.9213.6312.490.710.63
AOC138.7039.2138.4339.0838.950.510.38
APPB126.3226.9226.3126.9026.150.600.58
ARBA110.1410.159.879.989.790.01-0.16
ATHR125.5826.3025.2326.2725.370.720.69
AUY114.0614.1213.9113.9713.610.06-0.09
AVP138.7240.1338.7239.9938.641.411.27
BG181.3083.8080.8483.5279.852.502.22
BGC251.9352.5551.6752.4650.810.620.53
BID139.0039.0838.2338.9938.310.08-0.01
CAR127.3027.4026.9627.4026.760.100.10
CBS131.8732.0131.6031.9531.910.140.08
CE129.3029.8029.1029.6828.710.500.38
CECO328.8829.2928.3028.6628.130.41-0.22
CEN134.1634.2533.7134.1032.980.09-0.06
CERN151.9153.2351.8153.1550.951.321.24
CGV141.8641.9141.3541.4541.390.05-0.41
CHINA110.5510.7910.4310.6910.630.240.14
COH250.0051.0049.6950.8347.031.000.83
CPWR19.449.559.429.509.320.110.06
CRM150.0050.4349.4049.4347.820.43-0.57
CRUS18.018.298.008.268.160.280.25
CSX140.5340.7640.1840.4239.690.23-0.11
DD152.1252.7552.0052.6351.000.630.51
DOW143.2643.4543.0543.3842.680.190.12
EDS329.0729.5029.0029.3827.620.430.31
EGO16.206.236.036.076.200.03-0.13
EXC163.4363.9263.2663.6462.720.490.21
EXPE121.7222.3821.3322.2221.650.660.50
FMCN282.5083.6782.0083.3585.841.170.85
GCI162.8163.0162.5562.8762.140.200.06
GM236.4736.6235.6735.9535.990.15-0.52
GSK258.2358.4057.9758.0056.110.17-0.23
GT125.1025.4524.7525.3925.330.350.29
HAS129.6029.6229.2129.3229.470.02-0.28
HD140.7441.8040.7041.3441.181.060.60
HES154.0654.0653.0553.6253.000.00-0.44
HNT153.8654.4553.2054.2954.010.590.43
HTZ121.9522.2821.5722.2521.650.330.30
IAR135.2435.4534.9235.3534.890.210.11
IP137.4137.7537.3537.6836.930.340.27
IRF143.3943.3942.5043.0042.990.00-0.39
ITW152.6153.5052.5253.3352.210.890.72
JBHT226.6527.3726.4727.3126.540.720.66
KG118.6318.7018.3918.6418.660.070.01
LI234.4234.6334.3634.4432.500.210.02
MA1108.32108.50106.54107.82113.080.18-0.50
MCHP135.8736.3035.5336.2536.090.430.38
MET264.9565.7164.5265.6164.750.760.66
MIR135.9336.3135.6836.3035.650.380.37
MOS125.7326.1825.3825.9722.570.450.24
MRVC14.274.314.224.294.190.040.02
NKE3106.30107.10105.64106.81105.580.800.51
NOC275.1475.4974.9175.4573.570.350.31
NOK123.0323.1022.8622.9923.020.07-0.04
NOV167.5167.6966.6666.7268.850.18-0.79
NT131.6731.7931.2531.3131.080.12-0.36
NUAN114.3915.0314.3215.0014.440.640.61
NVL144.1044.2844.0244.1340.000.180.03
NVT134.8034.8634.3734.8635.170.060.06
ONXX228.3029.8827.5629.0318.411.580.73
OSI140.6840.7440.3940.5139.960.06-0.17
PCLN151.8753.8951.6753.5051.532.021.63
PNC175.8576.4174.2476.2375.150.560.38
PX164.1064.8963.6464.8364.200.790.73
RHT324.0024.7123.9624.3724.470.710.37
RSH122.9723.5622.8823.5423.100.590.57
RTH1105.31106.72104.79106.58104.951.411.27
SHLD1187.03189.37185.25189.08180.102.342.05
SNE252.0052.6151.9752.5450.390.610.54
SONS17.567.777.547.697.800.210.13
TEVA137.5438.1837.4538.1237.760.640.58
TIF242.9042.9942.0642.9440.500.090.04
TRA317.4417.9617.3717.7816.800.520.34
TRN142.7744.0942.5743.8342.121.321.06
TSG132.4332.4932.4132.4532.520.060.02
TSN218.7519.1618.7519.1318.670.410.38
USU114.0314.5013.9014.3714.780.470.34
VRSN125.9726.5125.5926.2525.490.540.28
WB158.1058.5058.0258.3657.340.400.26
WYN234.7035.3334.5035.3334.400.630.63
XL173.8573.8972.8673.8572.230.040.00
XLY139.8340.2139.7540.1939.720.380.36
XRX218.0918.1918.0118.0617.250.10-0.03
933676.0245.7027.22

[/Trading/Darvas/D200702] permanent link


2007 Feb 20 - Tue

Trading Site of the Day -- John Mauldin: Market Investments

Looking at the economy from the big picture perspective is John Mauldin's Weekly E-Letter. He is an investment advisor who appears to be well connected to well known economic thinkers and shakers.

His newsletter provides good analysis of current macroeconomic causes and affects. Recent articles cover such things as what the the inverted yield curve portends (the difference between the 3 month T-bill rate and the 10 year bond), the current housing slow down (and how it relates to the folding of sub-prime mortgate issuers), commodities, real-estate, ....

His articles provide useful insight into what the markets are doing, and where they might be headed.

[/Trading/SiteOfTheDay/D200702] permanent link


2007 Feb 18 - Sun

Darvas Selections for 2007/02/20

Here are the selections for Tuesday. Monday is President's Day holiday. These lists have the Darvas stop calculated in the second column.

Start: 2007-01-16
High: 2007-02-09
EOD: 2007-02-16
SymbolStop
AEP45.41
AGU38.32
AINV23.79
AIV63.41
AL54.53
AMX45.76
AOC38.95
ARBA9.79
ARDI7.44
ATHR25.37
AUY13.61
AVP38.64
BG79.85
BID38.31
CBS31.91
CECO28.13
CGV41.39
CHINA10.63
COH47.03
CPWR9.32
CRUS8.16
DD51.00
EDS27.62
EGO6.20
EXC62.72
EXPE21.65
FMCN85.84
GM35.99
GT25.33
HAS29.47
HES53.00
HTZ21.65
IRF42.99
LI32.50
MA113.08
MCHP36.09
MET64.75
MIR35.65
MRVC4.19
NKE105.58
NUAN14.44
NVT35.17
RHT24.47
RSH23.10
RTH104.95
SHLD180.10
SNE50.39
SONS7.80
TIF40.50
TRA16.80
TSN18.67
USU14.78
VRSN25.49
WYN34.40
XL72.23
XLY39.72
XRX17.25

Start: 2007-01-16
High: 2007-02-12
EOD: 2007-02-16
SymbolStop
AL54.53
BGC50.81
CECO28.13
EDS27.62
FMCN85.84
GSK56.11
HD41.18
JBHT26.54
KG18.66
LI32.50
NKE105.58
NOC73.57
NVL40.00
ONXX18.41
RHT24.47
TRA16.80

Start: 2007-01-16
High: 2007-02-13
EOD: 2007-02-16
SymbolStop
ADP49.77
AGU38.32
AL54.53
ALGN17.01
ALVR7.77
ANAD12.49
APPB26.15
BGC50.81
CAR26.76
CE28.71
CECO28.13
CEN32.98
CERN50.95
COH47.03
CRM47.82
CSX39.69
DOW42.68
EDS27.62
GCI62.14
GM35.99
GSK56.11
HNT54.01
IAR34.89
IP36.93
ITW52.21
JBHT26.54
MET64.75
MOS22.57
NKE105.58
NOC73.57
NOK23.02
NOV68.85
NT31.08
ONXX18.41
OSI39.96
PCLN51.53
PNC75.15
PX64.20
RHT24.47
SNE50.39
TEVA37.76
TIF40.50
TRA16.80
TRN42.12
TSG32.52
TSN18.67
WB57.34
WYN34.40
XRX17.25

[/Trading/Darvas/D200702] permanent link


Darvas Results at EOD 2007/02/16

In comparison, the Dow Jones Industrial Index opened down slightly at 12764, had a lower high of 12769, had a higher low of 12744, and closed up for the day slightly at 12767.

Here is an equity curve for trading one 100 share block of each of the selected instruments from opening bell to three minutes before the ending bell:

.

The low points on the curve correspond to the initial low points of the Dow. This resulted in about a $1000 draw down. From there, the Dow traded sideways, but the Darvas selections trended upwards to end, after commissions, at about $1600 profit, with the day's hypothetical trades yielding 0.32% return.

In this case, I've used the Darvas selector as something to suggest instruments for day trading: in at the beginning of the day, out at the end. Even though a stop is shown for each instrument, no stops were placed. For this day, I found that stops reduced the return.

For the result chart below, here is a description of cell colors:

  • If Low is green, then it stayed above the stop level.
  • If Close is green, the symbol closed up for the day.
  • If Stop is green, then stop was below close of the day.

The '#' column represents the number of occurances in the previous day's selections.

Symbol#OpenHighLowCloseStopO->HO->C
AEP145.5845.9245.3745.8945.410.340.31
AFFX128.1428.1927.4927.9327.830.05-0.21
AGU138.7338.8138.2338.7738.320.080.04
AINV123.4123.8823.4123.7923.300.470.38
AIV160.7061.7260.3461.6063.411.020.90
AKAM156.1656.3955.5555.9955.710.23-0.17
AL255.0655.3054.4254.7654.530.24-0.30
ALVR18.208.337.948.327.770.130.12
AMX248.2548.5347.8248.2345.760.28-0.02
ANAD112.1912.9912.1512.9111.400.800.72
ANF182.3582.7481.6382.6782.810.390.32
AOC138.7239.2038.7239.0136.910.480.29
ARBA111.0811.0810.0010.029.790.00-1.06
ARDI17.477.497.457.497.440.020.02
ARO138.1438.1437.5637.7137.060.00-0.43
ATHR126.0026.0025.0625.7325.370.00-0.27
AVP139.8339.8338.9438.9938.640.00-0.84
BEN1125.70126.61124.87126.02121.770.910.32
BG280.5080.8580.1780.5679.850.350.06
BGC251.6752.0051.3751.9750.810.330.30
BID138.5838.9538.4438.9038.310.370.32
BIG126.6026.6026.1726.4126.340.00-0.19
CBS231.7531.9331.6131.8131.910.180.06
CECO227.1029.0026.3328.8828.131.901.78
CGV141.4541.6841.3141.6741.390.230.22
CHINA210.4110.6510.3910.5410.630.240.13
COH249.2950.0049.0149.9847.030.710.69
CPWR19.269.519.269.478.880.250.21
CRUS18.178.178.008.068.160.00-0.11
CVG126.5326.8126.4826.6926.500.280.16
DD151.9852.4851.8252.4751.000.500.49
DIS134.6834.9134.4134.8934.440.230.21
DLTR134.0934.1933.6634.1733.890.100.08
EDS328.9129.2628.8329.1727.620.350.26
EGO16.206.506.206.506.200.300.30
EMC114.6914.6914.4614.6014.380.00-0.09
EXC262.6263.3262.1863.1962.720.700.57
EXPE222.1422.1721.7621.8321.650.03-0.31
FMCN381.8082.8580.9882.0085.841.050.20
GGP164.7665.9164.2665.6565.071.150.89
GM136.6336.8335.6336.3435.990.20-0.29
GSK158.0958.1557.5057.7856.110.06-0.31
GT225.1225.3624.5125.1825.330.240.06
HAS229.3029.6329.1129.6028.940.330.30
HCP139.5039.5339.1039.4239.600.03-0.08
HD141.5041.6641.2041.4440.980.16-0.06
HTZ221.4222.0521.3721.9019.950.630.48
IACI139.9439.9939.4639.8339.480.05-0.11
IBN144.1244.3544.0544.3545.890.230.23
IFX116.0516.2916.0016.2615.680.240.21
IP137.5337.8137.1037.7836.930.280.25
IRF142.7543.1042.4542.9942.990.350.24
ITW152.8753.1452.3652.5552.210.27-0.32
JBHT126.9626.9626.5726.7226.540.00-0.24
KG118.7018.9318.5118.6918.660.23-0.01
LI234.4834.5034.3534.4132.500.02-0.07
MA2108.01109.12106.05108.32113.081.110.31
MCHP136.2136.2135.8136.0236.090.00-0.19
MCO171.5072.7571.4372.6874.821.251.18
MET264.6565.1264.6064.8564.750.470.20
MIR135.6435.9835.5435.9335.650.340.29
MNST154.0854.7654.0054.6751.390.680.59
MRVC24.184.404.134.244.190.220.06
NKE3106.50107.51105.68106.30100.251.01-0.20
NOC274.9975.0574.7675.0173.570.060.02
NT131.0531.6330.7131.6329.320.580.58
NUAN214.3014.4714.1214.4612.720.170.16
NVL144.2944.3444.0644.2940.000.050.00
NVT134.4434.9534.1634.8435.170.510.40
ONXX126.1627.8525.6527.7517.211.691.59
PRU191.4092.7091.2892.5191.261.301.11
RHT323.6724.0023.5524.0024.470.330.33
RMBS122.8423.0822.2922.6421.490.24-0.20
RSH223.0823.2422.8622.9723.100.16-0.11
RTH2105.17105.31104.66105.14104.950.14-0.03
SHLD1186.00187.50185.23187.26180.101.501.26
SINA135.6135.8235.0335.1134.350.21-0.50
SNE152.0652.7352.0652.5650.390.670.50
SONS27.517.607.417.577.800.090.06
TGT162.4062.9562.1562.9161.130.550.51
TIF242.5042.7242.1142.6140.500.220.11
TRA217.2517.4716.9917.2016.800.22-0.05
TROW149.5349.8849.2049.6048.940.350.07
TSN118.9019.0018.7918.9418.670.100.04
UBS162.4863.0662.4163.0363.330.580.55
UIS19.219.309.189.289.220.090.07
URI129.5829.6328.9729.3028.880.05-0.28
USU114.2114.2113.8414.0814.780.00-0.13
VNO1133.30134.00131.90133.99132.850.700.69
VRSN126.1526.5226.0826.1224.710.37-0.03
WLP181.9582.9481.7582.2579.000.990.30
WYN234.4834.8034.4434.6732.650.320.19
XEL124.1524.3524.0424.2624.140.200.11
XL272.6773.8572.6673.8572.231.181.18
XLY139.7439.9039.6739.9039.720.160.16
XRX117.9718.1717.9118.0917.250.200.12
YHOO131.0032.0031.0031.9129.881.000.91
ZMH184.5185.0183.9084.9285.000.500.41
983977.2838.5718.97

[/Trading/Darvas/D200702] permanent link


2007/02/18 Market Notes

Upcoming on Wednesday are a couple of economic releases: the index of U.S. leading economic indicators, and the U.S. Consumer Price Index, the later of which will be released at 8:30 a.m. by the Bureau of Labour Statistics.

In looking at the daily candles for the Down JOnes Industrial Average over the last few months, it looks like trading for the upcoming week could be flat or in a downwards direction as traders do some profit taking.

The Darvas trades obviously work well on positive DOW days, and seem to keep somewhat above water on flat days. On down days, it looks like an effort will be needed to stay afloat. On down days, the goal would be to find a low point of the day, and then enter the trades there. I'm currently looking at the Arms Index to see if that will help at all.

So if my eyeballed pattern analysis is any good, Tuesday looks like it could be another relatively flat day or the start of downward temporary correction.

[/Trading/MarketNotes] permanent link


2007 Feb 17 - Sat

Active Directory Authentication with Perl and LDAP

On the monitoring server, I'd like to authenticate users in the following situations:

  • various types of tacacs access
  • access to portions of the web pages
  • authentication to Linux command prompt
  • authentication to call detail record tools

I think someone has started a similar authentication capability for NetDisco. In any case, I wanted to see what I could come up with.

I have a basic proof of concept script. All the options are embedded variables. I'll have to factor all that out. In the meantime, it does prove that one can provide a basic Microsoft Active Directory group name, use it to look up the distinguished name for the group name, and then perform a test to see if a user is a member of that group. At the moment, there are no recursive tests to see if the user is a member based upon a group being a member of another group.

The documentation at CPAN perl-ldap-0.34 was helpful for syntax. Microsoft's ADSIEdit MMC was helpful in seeing which Active Directory/LDAP classes/objects contained the meaningful attributes.

[/OpenSource] permanent link


Trading Site of the Day -- StratFor: Global Intelligence Briefings

John Mauldin's regular Out Of The Box newsletter has recurring essays from George Friedman, the mind behind the informative site called StratFor, a site dedicated to 'Predictive, Insightful, Global Intelligence'.

You can get an idea of the types of things they write about forom article introductions on their main page. This is a 'pay for news' type of site, but I think it well worth it for the individual who wishes to get more information of what is happening 'behind the scenes' regarding the global economy and statistics.

Subscribers recieve multiple daily email releases as well as access to the report archives. Typically there is a morning summary of international happenings, an afternoon summary, as well as major write-up on a significant current event. Iraq figures prominently and often, but China, Russia, Europe, and other world locales do get their fair share of coverage.

This isn't necessarily a trading site per-se, but as the markets are global in nature and are affected by international news events, information releases from this site can help shape daily trading moods.

[/Trading/SiteOfTheDay/D200702] permanent link


2007 Feb 16 - Fri

Darvas Selections for 2007/02/16

Here are the selections for Friday. These lists have the Darvas stop calculated in the second column.

Start: 2007-01-15
High: 2007-02-08
EOD: 2007-02-15
SymbolStop
AFFX27.83
AKAM55.71
ALVR7.77
AMX45.76
ANAD11.40
ANF82.81
APCC30.85
ARO37.06
BEN121.77
BG79.85
BGC50.81
BIG26.34
CBS31.91
CHINA10.63
COH47.03
CVG26.50
DIS34.44
DLTR33.89
EDS27.62
EMC14.38
EXC62.72
EXPE21.65
FMCN85.84
GGP65.07
GT25.33
HAS28.94
HCP39.60
HTZ19.95
IACI39.48
IBN45.89
IFX15.68
IP36.93
ITW52.21
MA113.08
MCO74.82
MET64.75
MNST51.39
MRVC4.19
NKE100.25
NOC73.57
NT29.32
NUAN12.72
PRU91.26
RHT24.47
RMBS21.49
RSH23.10
RTH104.95
SINA34.35
SONS7.80
TGT61.13
TIF40.50
TROW48.94
UBS63.33
UIS9.22
URI28.88
VNO132.85
WLP79.00
WYN32.65
XEL24.14
XL72.23
YHOO29.88
ZMH85.00

Start: 2007-01-15
High: 2007-02-09
EOD: 2007-02-15
SymbolStop
AEP45.41
AGU38.32
AINV23.30
AIV63.41
AL54.53
AMX45.76
AOC36.91
ARBA9.79
ARDI7.44
ATHR25.37
AVP38.64
BG79.85
BID38.31
CBS31.91
CECO28.13
CGV41.39
CHINA10.63
COH47.03
CPWR8.88
CRUS8.16
DD51.00
EDS27.62
EGO6.20
EXC62.72
EXPE21.65
FMCN85.84
GM35.99
GT25.33
HAS28.94
HTZ19.95
IRF42.99
LI32.50
MA113.08
MCHP36.09
MET64.75
MIR35.65
MRVC4.19
NKE100.25
NUAN12.72
NVT35.17
RHT24.47
RSH23.10
RTH104.95
SHLD180.10
SNE50.39
SONS7.80
TIF40.50
TRA16.80
TSN18.67
USU14.78
VRSN24.71
WYN32.65
XL72.23
XLY39.72
XRX17.25

Start: 2007-01-15
High: 2007-02-12
EOD: 2007-02-15
SymbolStop
AL54.53
BGC50.81
CECO28.13
EDS27.62
FMCN85.84
GSK56.11
HD40.98
JBHT26.54
KG18.66
LI32.50
NKE100.25
NOC73.57
NVL40.00
ONXX17.21
RHT24.47
TRA16.80

[/Trading/Darvas/D200702] permanent link


Rancid / CVSWeb

RANCID provides two types of functions. One of its foundations is that it provides a structure for logging into network devices for the purpose of obtaining configuration files. The second is that it stores versions of the configuration files in CVS.

CVSWeb is a web based tool for reviewing and comparing the files under CVS version control.

Rancid Installation

Obtain the latest version of Rancid, place it in /usr/src, and expand it:

wget ftp://ftp.shrubbery.net/pub/rancid/rancid-2.3.2a4.tar.gz
tar -zxvf  rancid-2.3.2a4.tar.gz
cd rancid-2.3.2a4 

Build it:

./configure \
	--prefix=/usr/local/rancid \
 	--localstatedir=/var/local/rancid \
	--sysconfdir=/etc/rancid \
	--bindir=/usr/local/bin \
	--sbindir=/usr/local/sbin
make install

In /etc/rancid/rancid.conf, create group based upon the company name:

LIST_OF_GROUPS="example"

in /etc/aliases, add two aliases to the file based upon the group name created in the previous step:

rancid-example: root
rancid-admin-example: root

Run the command 'newaliases' to update the aliases.

Run the command 'rancid-cvs' to create the cvs archives. This creates a repository based upon the group name... /var/local/rancid/CVS/example/configs.

Update the device list file /var/local/rancid/example/router.db. Each line has three items, with the three items being separated with colons ':'. Use the device names as defined in the dns files.

device01:cisco:up

To login to devices via the command line, which is also needed by the crontab jobs following, you need a .cloginrc file in your home directory. Use the sample provided in the source and update it based upon the examples shown in the file.

cp cloginrc /root/.cloginrc
chmod 600 /root/.cloginrc

Turn on the hourly configuration update service by using the 'crontab -e' command and updating the configuration with:

# run config differ hourly
1 * * * * /usr/local/bin/rancid-run
# clean out config differ logs
50 23 * * * /usr/bin/find /var/local/rancid/logs -type f -mtime +2 -exec rm {} \;

Login to a device is now automated through commands similar to:

clogin device01

CVSWeb Installation

Install the package:

apt-get install cvsweb

Add the following line to '/etc/apache2/sites-available/default':

Alias /cvsweb "/usr/share/cvsweb/"

and restart apache:

/etc/init.d/apache2 restart

In /etc/cvsweb.conf, just after @CVSrepositories and before the 'local' line, insert the following:

'rancid'  => ['Rancid',           '/var/local/rancid/CVS'],

Later in the same file, update with the following line:

$cvstreedefault = 'rancid';

View the repository via:

http://localhost/cgi-bin/cvsweb

[/OpenSource/Debian/Monitoring] permanent link


Darvas Results at EOD 2007/02/15

In comparison, the Dow Jones Industrial Index opened at 12741, had a higher high of 12779, had a higher low of 12728, and closed up at 12765.

If Low is green, then it stayed above the stop level. If Close is green, the symbol closed up for the day.

Start: 2007-01-14
High: 2007-02-08
EOD: 2007-02-14
SymbolOpenHighLowCloseStopO->HO->C
AFFX27.3828.3127.2528.1427.830.930.76
AKAM56.4056.7655.9956.3955.710.36-0.01
ALVR8.268.348.058.227.770.08-0.04
AMX48.2948.5947.8848.4645.760.300.17
ANAD12.1712.2711.9912.1411.400.10-0.03
ANF82.2882.7981.9382.4182.810.510.13
ARO38.4138.6038.0838.1437.060.19-0.27
BEN125.38126.26124.99126.10121.770.880.72
BG79.9081.1079.8480.4579.851.200.55
BGC50.7051.7850.5651.6448.381.080.94
BIG26.4626.7226.0526.6726.340.260.21
CBS32.0532.1531.7431.8831.910.10-0.17
CHINA10.8010.8510.3710.4210.630.05-0.38
COH49.2549.4649.0149.2947.030.210.04
CVG26.4726.7126.4426.6226.500.240.15
DIS34.7034.7334.1734.6734.440.03-0.03
DLTR33.9434.3933.6434.1333.890.450.19
EDS28.6729.2028.6429.0727.620.530.40
EMC14.6714.7914.6214.7014.380.120.03
EXC63.3263.6162.6562.8262.720.29-0.50
EXPE22.5123.1022.0022.3021.650.59-0.21
FMCN78.4580.4976.0080.3285.842.041.87
GGP64.6065.7364.2565.2265.071.130.62
GT25.0025.6325.0025.4125.330.630.41
HAS28.9829.5928.9129.4428.940.610.46
HCP39.7339.8739.2439.5039.600.14-0.23
HTZ21.0721.8020.7521.6219.950.730.55
IACI39.8039.9639.4739.8539.480.160.05
IBN44.2444.4543.6644.1245.890.21-0.12
IFX16.0016.1515.9516.0515.680.150.05
IP37.1737.4936.9737.3536.930.320.18
ITW52.5753.2052.5753.0852.210.630.51
MA108.00108.80107.09108.04113.080.800.04
MCO71.8572.2571.4471.8074.820.40-0.05
MET65.1665.3264.3564.9264.750.16-0.24
MNST53.2954.4653.0454.2551.391.170.96
MRVC4.344.454.214.274.190.11-0.07
NKE105.24105.70104.80105.51100.250.460.27
NOC74.5475.0074.3574.9673.570.460.42
NT30.6031.1830.3731.0529.320.580.45
NUAN14.4714.5914.3214.4012.720.12-0.07
PRU92.0092.1591.5591.8491.260.15-0.16
RHT24.2424.5423.7723.8124.470.30-0.43
RMBS22.2022.5421.9122.4521.490.340.25
SINA35.9936.0035.5035.7434.350.01-0.25
SONS7.467.597.447.517.800.130.05
TGT62.2262.9962.0862.6761.130.770.45
TIF42.0142.4641.8042.4340.500.450.42
TROW49.5349.8149.1849.7348.940.280.20
UBS62.2862.5762.1462.3963.330.290.11
UIS9.259.319.219.239.220.06-0.02
URI28.7929.6828.7929.5628.250.890.77
VNO134.16134.61132.14133.30132.850.45-0.86
WLP80.9882.9680.9882.4179.001.981.43
WYN34.7834.7934.4434.6932.650.01-0.09
XEL24.3224.3724.1324.2624.140.05-0.06
XL72.9073.4072.5172.9371.560.500.03
YHOO30.8231.6530.6931.2529.880.830.43
ZMH84.4384.9283.6684.8485.000.490.41
2745.4727.4911.39

Start: 2007-01-14
High: 2007-02-09
EOD: 2007-02-14
SymbolOpenHighLowCloseStopO->HO->C
AEP45.9845.9845.4845.7145.410.00-0.27
AGU37.8439.2137.6538.7237.051.370.88
AINV23.5523.6423.2623.4123.300.09-0.14
AIV61.0961.6260.4360.7463.410.53-0.35
AL54.2655.4554.2655.1552.321.190.89
AMX48.2948.5947.8848.4645.760.300.17
ARBA10.4810.9910.4110.769.790.510.28
ARDI7.437.497.437.457.420.060.03
ATHR25.9226.4325.8526.0924.800.510.17
AVP38.5439.2938.0039.0638.640.750.52
BG79.9081.1079.8480.4579.851.200.55
CBS32.0532.1531.7431.8831.910.10-0.17
CECO29.4529.8529.4529.6428.130.400.19
CGV42.0142.0441.5041.5941.390.03-0.42
CHINA10.8010.8510.3710.4210.630.05-0.38
COH49.2549.4649.0149.2947.030.210.04
CPWR9.109.339.079.328.880.230.22
CRUS8.208.308.148.178.160.10-0.03
DD52.0252.1751.6151.7751.000.15-0.25
EDS28.6729.2028.6429.0727.620.530.40
EGO6.206.336.096.335.800.130.13
EXC63.3263.6162.6562.8262.720.29-0.50
EXPE22.5123.1022.0022.3021.650.59-0.21
FMCN78.4580.4976.0080.3285.842.041.87
GM36.4536.7036.4236.4435.990.25-0.01
GT25.0025.6325.0025.4125.330.630.41
HAS28.9829.5928.9129.4428.940.610.46
HTZ21.0721.8020.7521.6219.950.730.55
IRF43.2343.4942.7343.0742.990.26-0.16
LI34.5434.5934.4834.4832.500.05-0.06
MA108.00108.80107.09108.04113.080.800.04
MCHP36.1436.3235.8936.1036.090.18-0.04
MET65.1665.3264.3564.9264.750.16-0.24
MIR35.5535.8035.4035.6035.650.250.05
MRVC4.344.454.214.274.190.11-0.07
NKE105.24105.70104.80105.51100.250.460.27
NUAN14.4714.5914.3214.4012.720.12-0.07
NVT34.4934.8234.3334.4435.170.33-0.05
RHT24.2424.5423.7723.8124.470.30-0.43
SHLD183.40186.29183.38186.11180.102.892.71
SNE51.5051.8850.6651.7950.390.380.29
SONS7.467.597.447.517.800.130.05
TIF42.0142.4641.8042.4340.500.450.42
TRA16.5217.3416.5217.2515.820.820.73
TSN18.6118.9918.6118.9018.670.380.29
USU13.8714.2313.7314.2014.780.360.33
VRSN26.2526.2525.9426.1924.710.00-0.06
WYN34.7834.7934.4434.6932.650.01-0.09
XL72.9073.4072.5172.9371.560.500.03
XLY39.8139.9539.6739.9539.720.140.14
XRX17.8918.1617.8518.0517.250.270.16
1934.9822.939.27

[/Trading/Darvas/D200702] permanent link


2007 Feb 15 - Thu

Trading Site of the Day -- Commodity Trader: understanding of the Global Commodity Markets
Commodity Trader is a site specializing in looking at commodities and providing suggestions on what is active, where it is going, and possible things to do with it. News items, as they relate to commodities are also covered. Foreign Exchange coverage is included.

[/Trading/SiteOfTheDay/D200702] permanent link


Trading Site of the Day -- One Option: Option Trading Blog

Pete Stolcers has a blog called OneOption in which he discussed the theory behind option trades as well as showing real trades.

In his February 13 article, he talks about spreads. He discusses when to get in, how to get in, what happens when you are close to an expiry date, and examines some considerations on how to get out. He also discusses how he finds a suitable candidate for a trade.

As part of the analysis, he also examines the overall market situation. By thinking about the general, followed by some fundamental analsysis, he then generates a 'feeling' as to where things might go.

So, by what I just mentioned in the last paragraph, he isn't just a technical analsyst. He does examine each symbol's fundamentals and latest news to help justify his feelings as to where a trading instrument might be heading.

Initial posts to his blog were few and far between. Perhaps he may maintain more frequent posts in the here and now. Anyway, there is useful information there for a practitioner to learn from.

[/Trading/SiteOfTheDay/D200702] permanent link


Darvas Selections for 2007/02/15

Here are the selections for Thursday. These lists have the Darvas stop calculated in the second column.

Start: 2007-01-14
High: 2007-02-08
EOD: 2007-02-14
SymbolStop
AFFX27.83
AKAM55.71
ALVR7.77
AMX45.76
ANAD11.40
ANF82.81
APCC30.85
ARO37.06
BEN121.77
BG79.85
BGC48.38
BIG26.34
CBS31.91
CHINA10.63
COH47.03
CVG26.50
DIS34.44
DLTR33.89
EDS27.62
EMC14.38
EXC62.72
EXPE21.65
FMCN85.84
GGP65.07
GT25.33
HAS28.94
HCP39.60
HTZ19.95
IACI39.48
IBN45.89
IFX15.68
IP36.93
ITW52.21
MA113.08
MCO74.82
MET64.75
MNST51.39
MRVC4.19
NKE100.25
NOC73.57
NT29.32
NUAN12.72
PRU91.26
RHT24.47
RMBS21.49
SINA34.35
SONS7.80
TGT61.13
TIF40.50
TROW48.94
UBS63.33
UIS9.22
URI28.25
VNO132.85
WLP79.00
WYN32.65
XEL24.14
XL71.56
YHOO29.88
ZMH85.00

Start: 2007-01-14
High: 2007-02-09
EOD: 2007-02-14
SymbolStop
AEP45.41
AGU37.05
AINV23.30
AIV63.41
AL52.32
AMX45.76
ARBA9.79
ARDI7.42
ATHR24.80
AVP38.64
BG79.85
CBS31.91
CECO28.13
CGV41.39
CHINA10.63
COH47.03
CPWR8.88
CRUS8.16
DD51.00
EDS27.62
EGO5.80
EXC62.72
EXPE21.65
FMCN85.84
GM35.99
GT25.33
HAS28.94
HTZ19.95
IRF42.99
LI32.50
MA113.08
MCHP36.09
MET64.75
MIR35.65
MRVC4.19
NKE100.25
NUAN12.72
NVT35.17
RHT24.47
SHLD180.10
SNE50.39
SONS7.80
TIF40.50
TRA15.82
TSN18.67
USU14.78
VRSN24.71
WYN32.65
XL71.56
XLY39.72
XRX17.25

[/Trading/Darvas/D200702] permanent link


Darvas Results at EOD 2007/02/14

In comparison, the Dow Jones Industrial Index opened down slightly at 12651, had a higher high of 12759, had a higher low (an all positive day) of 12651, and closed up further at 12741.

If Low is green, then it stayed above the stop level. If Close is green, the symbol closed up for the day.

Start: 2007-01-13
High: 2007-02-07
EOD: 2007-02-13
SymbolOpenHighLowCloseStopO->HO->C
ABB18.6619.2518.6519.1318.620.590.47
ACN38.7239.2538.6939.2037.860.530.48
AET42.6043.8042.6043.6442.991.201.04
AFL47.9548.0247.6447.9048.710.07-0.05
AMKR11.4111.9811.3211.7611.400.570.35
AMP61.1863.0761.1662.5659.351.891.38
AMT39.5440.0339.5039.6039.300.490.06
AN23.0623.0822.7623.0322.560.02-0.03
ANAD12.1212.1311.9112.1011.400.01-0.02
ARO38.2138.5137.8138.4037.060.300.19
ATHR25.6926.2025.6025.7924.800.510.10
BEN123.16126.00122.95125.59121.772.842.43
BIG26.4926.5826.2926.4126.340.09-0.08
BMC32.1532.6732.0232.4435.410.520.29
CAR27.0027.1626.9027.0526.760.160.05
CECO29.3829.4929.2929.4628.130.110.08
CHINA10.5910.8810.5810.8510.630.290.26
CHKP24.7725.0324.6324.9224.430.260.15
CIT59.2260.4459.0359.8258.631.220.60
COH48.2549.5847.8149.3847.031.331.13
COL68.4569.2268.4069.2266.180.770.77
COST56.5157.1556.3457.0554.660.640.54
CRM48.9050.1348.7849.8847.821.230.98
CROX53.7754.5353.2053.5157.320.76-0.26
CX35.8837.1435.7236.9536.371.261.07
DD51.4051.8951.3351.7951.000.490.39
DISH42.1442.5041.9342.0441.530.36-0.10
DTV23.9824.2923.8623.9224.760.31-0.06
EEM115.30117.88113.85117.65116.502.582.35
EFA75.6676.4075.6376.3274.510.740.66
EXPE21.6822.4921.6422.2721.650.810.59
FHN43.9044.3543.7943.9944.050.450.09
FISV53.7554.5053.6554.3051.440.750.55
GGP63.5965.2063.1064.7265.071.611.13
GIGM12.2012.5512.1612.3911.950.350.19
GILD70.9471.7470.5171.7271.920.800.78
GNW36.4336.7736.3136.6336.610.340.20
GR49.9550.7849.7750.4448.390.830.49
HAS28.5029.0028.4528.9828.940.500.48
HCP40.2540.3339.6839.8339.600.08-0.42
HLT36.6137.1736.5436.8237.310.560.21
HON46.5147.6546.2047.5445.901.141.03
HTZ20.4021.3220.2821.2219.950.920.82
IACI39.9040.1539.6339.8539.480.25-0.05
IBN42.2443.6742.0043.6145.891.431.37
IFX15.9816.2415.9516.1815.680.260.20
ITW52.0552.9352.0252.7750.290.880.72
JCP83.4484.9283.1284.5984.091.481.15
KEY39.0039.4938.9339.3738.970.490.37
KLIC9.6310.009.639.959.090.370.32
LEH83.3084.3682.7783.6584.131.060.35
LLL86.1787.7386.0587.6283.251.561.45
MCO71.1072.1871.0771.6874.821.080.58
MET64.3065.7964.2565.3464.751.491.04
MIR35.4535.9735.3835.6934.610.520.24
MLS26.3126.6126.0526.3526.300.300.04
MRVC4.204.394.184.284.190.190.08
NKE105.20105.78104.95105.38100.250.580.18
NOC74.6074.9673.8474.4873.570.36-0.12
NT30.1830.6029.9430.5029.320.420.32
NTY50.9051.7650.5951.2052.320.860.30
NUAN14.2514.4614.0814.4012.720.210.15
NYT25.5525.9725.3825.7525.690.420.20
PCAR70.0072.3669.8572.3669.722.362.36
PLCM33.7334.1933.7034.0732.430.460.34
RHT24.2925.0024.0224.2324.470.71-0.06
RTN55.4855.4854.9554.9653.220.00-0.52
SCUR8.809.148.809.058.840.340.25
SNV32.7233.0232.6332.9332.100.300.21
SPG116.60118.72115.65117.73121.242.121.13
TGT62.1062.6061.9062.4459.880.500.34
TRN40.3041.8240.2541.6039.831.521.30
TSN18.7518.8018.4718.6218.670.05-0.13
UBS62.5763.3562.4763.3163.330.780.74
UIS9.259.289.159.219.220.03-0.04
URI28.4828.8028.3528.7428.250.320.26
VNO133.90135.06132.64133.91132.851.160.01
WLP80.6981.2980.2780.9879.000.600.29
XL73.0073.4472.7573.1071.560.440.10
XLI36.3436.7836.2636.7335.960.440.39
XLY39.6539.8739.5839.8239.720.220.17
YHOO29.6930.8629.6430.6629.881.170.97
ZMH84.0984.9683.9284.6285.000.870.53
3775.5559.8838.89

Start: 2007-01-13
High: 2007-02-08
EOD: 2007-02-13
SymbolOpenHighLowCloseStopO->HO->C
AFFX27.3327.6627.1127.4027.830.330.07
ALVR8.318.398.258.327.770.080.01
AMX47.8348.6747.7948.5045.760.840.67
ANAD12.1212.1311.9112.1011.400.01-0.02
ANF81.5282.5181.0682.2782.810.990.75
APCC30.9431.0030.9330.9830.850.060.04
ARO38.2138.5137.8138.4037.060.300.19
BEN123.16126.00122.95125.59121.772.842.43
BG80.1580.5579.8679.9279.850.40-0.23
BGC50.3651.4950.1050.6848.381.130.32
BIG26.4926.5826.2926.4126.340.09-0.08
CBS31.9832.2731.9531.9931.910.290.01
CHINA10.5910.8810.5810.8510.630.290.26
COH48.2549.5847.8149.3847.031.331.13
CVG26.3426.6026.2626.5526.500.260.21
DIS34.5834.8234.5234.7534.440.240.17
DLTR33.3434.0333.1134.0032.530.690.66
EDS28.3028.7728.2228.6527.620.470.35
EMC14.5614.7714.4014.7014.380.210.14
EXC63.6364.0463.5063.7862.720.410.15
EXPE21.6822.4921.6422.2721.650.810.59
FMCN80.3281.7579.3079.6285.841.43-0.70
GGP63.5965.2063.1064.7265.071.611.13
GT24.7425.0024.3824.8525.330.260.11
HAS28.5029.0028.4528.9828.940.500.48
HCP40.2540.3339.6839.8339.600.08-0.42
HTZ20.4021.3220.2821.2219.950.920.82
IACI39.9040.1539.6339.8539.480.25-0.05
IBN42.2443.6742.0043.6145.891.431.37
IFX15.9816.2415.9516.1815.680.260.20
IP37.0037.4936.9137.3336.930.490.33
ITW52.0552.9352.0252.7750.290.880.72
MA104.21108.82104.10108.02113.084.613.81
MCO71.1072.1871.0771.6874.821.080.58
MET64.3065.7964.2565.3464.751.491.04
MNST53.3153.9253.0053.6351.390.610.32
MRVC4.204.394.184.284.190.190.08
NKE105.20105.78104.95105.38100.250.580.18
NOC74.6074.9673.8474.4873.570.36-0.12
NT30.1830.6029.9430.5029.320.420.32
NUAN14.2514.4614.0814.4012.720.210.15
PRU91.7392.7591.5092.5591.261.020.82
RHT24.2925.0024.0224.2324.470.71-0.06
RMBS21.9022.1721.8322.0021.490.270.10
SONS7.347.627.347.487.800.280.14
TGT62.1062.6061.9062.4459.880.500.34
TIF41.7542.4541.5642.0740.500.700.32
TROW48.9749.7848.8749.6048.940.810.63
UBS62.5763.3562.4763.3163.330.780.74
UIS9.259.289.159.219.220.03-0.04
URI28.4828.8028.3528.7428.250.320.26
VNO133.90135.06132.64133.91132.851.160.01
WLP80.6981.2980.2780.9879.000.600.29
WYN34.8135.0534.6134.8532.650.240.04
XEL24.2524.5324.2024.3024.140.280.05
XL73.0073.4472.7573.1071.560.440.10
YHOO29.6930.8629.6430.6629.881.170.97
ZMH84.0984.9683.9284.6285.000.870.53
2664.8039.9123.41

[/Trading/Darvas/D200702] permanent link


2007 Feb 14 - Wed

Monitoring Server: DNS with BIND

When doing diagnostics with network devices and their interfaces, it is helpful to have forward and reverse lookups on a number of ip addresses. These lookups can be implemented within Active Directory or under a separate DNS server. Use the following instructions if you wish to use a separate dns server, based upon Bind. You'll need to choose a different domain or a delegated domain than what is used in Active Directory or your other primary DNS server.

Installation

Install bind:

  • apt-get install bind9

The service starts upon installation.

Choose a domain for the network devices. For example, if your regular network domain is 'example.com', use something like 'netdevices.example.com'. You'll need to make a number of changes to files in the /etc/bind directory.

Create a file called 'db.netdevices.example.com'. It's content should look similar to:

;
; BIND data file for network devices
;
$TTL    604800
@       IN      SOA     netdevices.example.com root.localhost. (
                        2006051501      ; Serial               
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
; @ IN NS localhost. @ IN A 127.0.0.1 device01 IN A 10.1.6.30 ;device 01 on network

Edit 'named.conf.local'. Uncomment the line which includes 'zones.rfc1918'. Add a reference to the zone file you just created. You should have something that looks like:

include "/etc/bind/zones.rfc1918";

zone "netdevices.example.com" {
        type master;
        file "/etc/bind/db.netdevices.example.com";
};

Update the forwarders entry in 'named.conf.options'. This should be your Active Directory or similar servers. On those servers, you should delegate the netdevices.example.com domain to this server.

options {
        directory "/var/cache/bind";

        forwarders {
                10.1.1.154;
                10.1.1.159;
        };

        auth-nxdomain no;    # conform to RFC1035
};

Depending upon the ip blocks in which your devices reside, you'll need to create some reverse lookup files. For example, create a file called 'db.6.1.10.in-addr.arpa' to hold the reverse lookups for rfc1918 ip addresses.


; BIND reverse data file for local loopback interface
;
$TTL    604800
@       IN      SOA     localhost. root.localhost. (
                        2006060901      ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      localhost.

30 IN      PTR     device01

Now edit zones.rfc1918 and add a zone line so it uses your new file. For example, our change should show as:

zone "6.1.10.in-addr.arpa"      { type master; file "/etc/bind/db.6.1.10.in-addr.arpa"; };

Restart the service. Check /var/log/syslog to be sure things started properly with no errors.

/etc/init.d/bind9 restart

Edit /etc/resolv.conf so you have the following. If you are running dhcp, this may not work properly as the file may get over-written.

search netdevices.example.com example.com
nameserver 10.1.1.154
nameserver 10.1.1.159

Active Directory Changes

You need to configure forward and reverse delegations in Active Directory DNS to allow the monitoring server to resolve the monitoring subnet.

To provide forward delegation:

  • Look in the Forward Lookup Zones and select the internal domain
  • Right click and select New Delegation
  • In 'Delegated Domain', put 'netdevices'
  • Add the fully qualified domain name, 'server.netdevices.example.com', and it's ip address
  • finish to apply the change

To provide reverse delegation (assuming that a complete subnet has been assigned to the network monitoring server):

  • Look in Reverse Lookup Zones
  • Add a new Active Directory integrated zone
  • Put in the first octet ONLY of the network id (for example 10)
  • Finish
  • Right click on the new reverse zone (such as 10.in-addr.arpa) and create a new Domain
  • If the second octet of the domain is '1', use 1 as the domain id and Finish
  • Right click on the new domain and add a new delegation
  • If the third octet is 6, put 6 in as the delegated domain
  • For the server name, put in the fully qualified domain name and ip address of the monitoring server running Bind
  • Finish

To test, on the active directory server, start nslookup. Put in the fully qualified domain name of the bind server to see if resolves. Put in the ip address of the bind server to see if it resolves.

[/OpenSource/Debian/Monitoring] permanent link


Aptitude vs apt-get vs dselect

I have tried to use dselect on occasion. I thought it was just me who couldn't figure out how to deal with it. I guess that is a common ailment around users. I see now on an old debian-users mail list, dselect is really not recommended for much of anything.

As such, I have been using the likes of apt-get, apt-key, and apt-file for my package management. Today, I see that even apt-get is old and gray. The new kid on the block is 'aptitude' for Debian package management. From a message by Joey Hess on a another Debian User List entry, I reprint the following reasons for using Aptitude:

Seven reasons why you should be using aptitude instead of apt-get.

1. aptitude can look just like apt-get

   If you run 'aptitude update' or 'aptitude upgrade' or 'aptitude
   install', it looks and works just like apt-get, with a few enhancements.
   So there is no learning curve.

2. aptitude sanely handles recommends

   A long-standing failure of apt-get has been its lack of support for
   the Recommends relationship. Which is a problem because many packages
   in Debian rely on Recommends to pull in software that the average user
   generally uses with the package. This is a not uncommon cause of
   trouble, even though apt-get recently became able to at least mention
   recommended packages, it's easy to miss its warnings.

   Aptitude supports Recommends by default, and can be confgigured to
   support Suggests too. It even supports installing recommended packages
   when used in command-line mode.

3. aptitude tracks automatically installed packages

   Stop worrying about pruning unused libraries and support packages from
   your system. If you use aptitude to install everything, it will keep
   track of what packages are pulled in by dependencies alone, and remove
   those packages when they are no longer needed.

4. use aptitude as a normal user and avoid hosing your system

   Maybe you didn't know that you can run aptitude in gui mode as a regular
   user. Make any changes you'd like to try out. If you get into a real
   mess, you can hit 'q' and exit, your changes will not be saved.
   (aptitude also lets you use ctrl-u to undo changes). Since it's running
   as a normal user, you cannot hose your system until you tell aptitude to
   do something, at which point it will prompt you for your root password.

5. aptitude has a powerful UI and searching capabilities

   Between aptitude's categorical browser and its great support for
   mutt-style filtering and searching of packages by name, description,
   maintainer, dependencies, etc, you should be able to find packages
   faster than ever before using aptitude.

6. aptitude makes it easy to keep track of obsolete software

   If Debian stops distributing a package, apt will leave it on your system
   indefinitly, with no warnings, and no upgrades. Aptitude lists such
   packages in its "Obsolete and Locally Created Packages" section, so you
   can be informed of the problem and do something about it.

7. aptitude has an interface to the Debian task system

   Aptitude lets you use Debian's task system as it was designed to be
   used. You can browse the available tasks, select a task for install, and
   then dig into it and de-select parts of the task that you don't want.
   apt-get has no support for tasks, and aptitude is better even than
   special purpose tools like tasksel.

Makes sense to me. I'll give it a try.

[/OpenSource/Debian] permanent link


Tag Line, by Tom Robbins

Using words to describe magic is like using a screwdriver to cut roast beef.
-- Tom Robbins

[/Personal/TagLines] permanent link


Hints for Debian apt-get and Expired Public Keys

When running 'apt-get update', I encountered time out issues and this error:

W: GPG error: http://security.debian.org testing/updates Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A70DAF536070D3A1

A search came up with a solution at FreeSpamFilter.org Forum Site. The site recommended the following commands (where the key is the one from the above error message):

gpg --keyserver subkeys.pgp.net --recv-keys A70DAF536070D3A1
gpg --export A70DAF536070D3A1 | apt-key add -

Before running 'apt-get update' again, based upon comments from Ubuntu Forums, I also ran the following two commands:

apt-get clean
apt-get check

The update process now runs cleanly.

[/OpenSource/Debian] permanent link


Darvas Selections for 2007/02/14

Here are the selections for Wednesday. These lists have the Darvas stop calculated in the second column.

Start: 2007-01-13
High: 2007-02-07
EOD: 2007-02-13
SymbolStop
ABB18.62
ACN37.86
AET42.99
AFL48.71
AMKR11.40
AMP59.35
AMT39.30
AN22.56
ANAD11.40
ARO37.06
ATHR24.80
BEN121.77
BIG26.34
BMC35.41
CAR26.76
CECO28.13
CHINA10.63
CHKP24.43
CIT58.63
COH47.03
COL66.18
COST54.66
CRM47.82
CROX57.32
CX36.37
DD51.00
DISH41.53
DTV24.76
EEM116.50
EFA74.51
EXPE21.65
FHN44.05
FISV51.44
GGP65.07
GIGM11.95
GILD71.92
GNW36.61
GR48.39
HAS28.94
HCP39.60
HLT37.31
HON45.90
HTZ19.95
IACI39.48
IBN45.89
IFX15.68
ITW50.29
JCP84.09
KEY38.97
KLIC9.09
LEH84.13
LLL83.25
MCO74.82
MET64.75
MIR34.61
MLS26.30
MRVC4.19
NKE100.25
NOC73.57
NT29.32
NTY52.32
NUAN12.72
NYT25.69
PCAR69.72
PLCM32.43
RHT24.47
RTN53.22
SCUR8.84
SNV32.10
SPG121.24
TGT59.88
TRN39.83
TSN18.67
UBS63.33
UIS9.22
URI28.25
VNO132.85
WLP79.00
XL71.56
XLI35.96
XLY39.72
YHOO29.88
ZMH85.00

Start: 2007-01-13
High: 2007-02-08
EOD: 2007-02-13
SymbolStop
AFFX27.83
ALVR7.77
AMX45.76
ANAD11.40
ANF82.81
APCC30.85
ARO37.06
BEN121.77
BG79.85
BGC48.38
BIG26.34
CBS31.91
CHINA10.63
COH47.03
CVG26.50
DIS34.44
DLTR32.53
EDS27.62
EMC14.38
EXC62.72
EXPE21.65
FMCN85.84
GGP65.07
GT25.33
HAS28.94
HCP39.60
HTZ19.95
IACI39.48
IBN45.89
IFX15.68
IP36.93
ITW50.29
MA113.08
MCO74.82
MET64.75
MNST51.39
MRVC4.19
NKE100.25
NOC73.57
NT29.32
NUAN12.72
PRU91.26
RHT24.47
RMBS21.49
SONS7.80
TGT59.88
TIF40.50
TROW48.94
UBS63.33
UIS9.22
URI28.25
VNO132.85
WLP79.00
WYN32.65
XEL24.14
XL71.56
YHOO29.88
ZMH85.00

[/Trading/Darvas/D200702] permanent link


Darvas Results at EOD 2007/02/13

In comparison, the Dow Jones Industrial Index opened at 12549, had a higher high of 12658, had a higher low (an all positive day) of 12549, and closed up further at 12654.

If Low is green, then it stayed above the stop level. If Close is green, the symbol closed up for the day.

Start: 2007-01-12
High: 2007-02-06
EOD: 2007-02-12
SymbolOpenHighLowCloseStopO->HO->C
AA34.8536.0534.5535.0032.291.200.15
ABB18.4218.5518.3818.5518.620.130.13
AEP45.8345.8845.3845.7845.230.05-0.05
AFL47.8648.0647.6147.8448.710.20-0.02
AMP60.3561.5360.2861.1259.351.180.77
ANAD11.3612.3211.2411.9811.400.960.62
ARO37.7538.2537.6638.1837.060.500.43
AVP38.3238.6638.0338.6038.640.340.28
BEN122.34122.97121.75122.91121.770.630.57
BMC31.0232.1030.9332.0135.411.080.99
CE28.6229.1928.6228.9927.320.570.37
CECO29.4729.5029.2529.3528.130.03-0.12
CHINA10.7210.7610.5610.6210.630.04-0.10
CHKP24.3824.9124.3624.6524.430.530.27
CIT58.9159.3358.8759.1258.630.420.21
CRM47.5048.9347.5048.4944.321.430.99
CROX55.7055.7052.6053.5457.320.00-2.16
DE103.23104.19102.52102.67100.950.96-0.56
EEM113.95115.40113.87115.17116.501.451.22
EFA74.8375.3474.7775.3074.510.510.47
FHN43.7443.9943.0543.9244.050.250.18
FRX53.3353.5052.8653.3056.540.17-0.03
GGB17.2418.2417.2018.1718.041.000.93
GGP59.5063.1259.4262.9865.073.623.48
GNW35.8936.5035.7736.4336.610.610.54
HLT36.3536.9036.2236.6137.310.550.26
HON46.1046.5946.0346.5145.900.490.41
HRS51.8052.0051.3351.7951.690.20-0.01
ITW52.0052.5651.8951.9550.290.56-0.05
KEY38.8939.1038.5538.9738.970.210.08
LEA38.9839.1238.4638.9840.600.140.00
LEH82.2283.0481.8282.8384.130.820.61
MAT26.2026.5225.9626.4226.130.320.22
MET63.8064.9763.5064.8562.871.171.05
MIR34.9835.3734.8135.3634.610.390.38
MLS25.8826.2525.8626.2426.300.370.36
MRVC4.274.274.204.224.190.00-0.05
NOC74.4174.9974.3674.6073.570.580.19
NTRS62.2562.3461.9062.1758.660.09-0.08
NUAN13.7414.0813.6714.0712.720.340.33
NVL43.7243.9543.6743.8540.000.230.13
NYT25.3625.5025.1325.1625.160.14-0.20
RDN61.0062.0160.8261.9062.501.010.90
SID34.6835.9634.6435.5135.201.280.83
SNE49.4049.8049.4049.7148.010.400.31
SNV32.5732.7832.5132.7832.100.210.21
SPG113.50118.05113.09118.00121.244.554.50
SSTI5.445.505.355.475.190.060.03
STP37.5037.7037.0037.3638.240.20-0.14
TPX24.8325.3624.6425.3624.400.530.53
TSN18.3418.8318.1318.7618.010.490.42
UIS9.049.149.039.149.220.100.10
WLP80.9881.0680.5680.8779.000.08-0.11
XEL24.1024.2424.0024.2124.140.140.11
XLU37.9338.2537.9338.2337.840.320.30
2395.4033.8321.18

Start: 2007-01-12
High: 2007-02-07
EOD: 2007-02-12
SymbolOpenHighLowCloseStopO->HO->C
ABB18.4218.5518.3818.5518.620.130.13
ACN38.6938.8038.4338.7237.980.110.03
AET43.0043.6142.9043.4342.990.610.43
AFL47.8648.0647.6147.8448.710.20-0.02
ALTR20.4121.0320.4120.6220.640.620.21
AMKR11.0711.4211.0211.3611.400.350.29
AMP60.3561.5360.2861.1259.351.180.77
AMT39.5039.9839.4739.5539.300.480.05
AN22.8223.0822.8123.0822.560.260.26
ANAD11.3612.3211.2411.9811.400.960.62
ARO37.7538.2537.6638.1837.060.500.43
ATHR26.1626.1625.4825.5724.840.00-0.59
BEN122.34122.97121.75122.91121.770.630.57
BIG26.3626.4926.2326.3526.340.13-0.01
BMC31.0232.1030.9332.0135.411.080.99
CAR26.7927.0526.6226.9726.760.260.18
CECO29.4729.5029.2529.3528.130.03-0.12
CHINA10.7210.7610.5610.6210.630.04-0.10
CHKP24.3824.9124.3624.6524.430.530.27
CIT58.9159.3358.8759.1258.630.420.21
COH47.2948.3047.2948.2547.031.010.96
COL68.0768.5667.7268.3466.180.490.27
COST56.1456.6255.9056.4654.660.480.32
CRM47.5048.9347.5048.4944.321.430.99
CROX55.7055.7052.6053.5457.320.00-2.16
CX35.5235.9135.3635.6836.370.390.16
DD50.9451.4250.7351.3351.000.480.39
DISH41.6942.4141.6842.1241.530.720.43
DTV24.1324.3423.8623.9524.760.21-0.18
EEM113.95115.40113.87115.17116.501.451.22
EFA74.8375.3474.7775.3074.510.510.47
EXPE21.5321.9021.4821.6521.650.370.12
FHN43.7443.9943.0543.9244.050.250.18
FISV53.3853.9253.3853.7151.440.540.33
GGP59.5063.1259.4262.9865.073.623.48
GIGM11.8012.2711.7512.0311.950.470.23
GILD70.9771.4770.4370.5771.920.50-0.40
GNW35.8936.5035.7736.4336.610.610.54
GR49.3750.1949.2650.1048.390.820.73
HAS28.6728.7028.2828.4728.940.03-0.20
HCP39.9040.5039.0540.2939.600.600.39
HLT36.3536.9036.2236.6137.310.550.26
HON46.1046.5946.0346.5145.900.490.41
HTZ20.5020.6120.2820.3619.950.11-0.14
IACI39.4839.8339.3439.7439.480.350.26
IBN43.9043.9040.7942.2445.890.00-1.66
IFX15.6515.9115.6415.8915.680.260.24
ITW52.0052.5651.8951.9550.290.56-0.05
JCP82.8583.5882.7583.3484.090.730.49
KEY38.8939.1038.5538.9738.970.210.08
KLIC9.529.739.469.579.090.210.05
LEH82.2283.0481.8282.8384.130.820.61
LLL85.5086.1085.2585.9283.250.600.42
MAT26.2026.5225.9626.4226.130.320.22
MCO71.8472.1070.8170.9574.820.26-0.89
MET63.8064.9763.5064.8562.871.171.05
MIR34.9835.3734.8135.3634.610.390.38
MLS25.8826.2525.8626.2426.300.370.36
MRVC4.274.274.204.224.190.00-0.05
NKE103.43105.57103.43105.20100.252.141.77
NOC74.4174.9974.3674.6073.570.580.19
NT29.0830.3929.0830.2927.561.311.21
NTY52.1052.2550.3750.8752.320.15-1.23
NUAN13.7414.0813.6714.0712.720.340.33
NYT25.3625.5025.1325.1625.160.14-0.20
PCAR69.1869.9669.1269.8669.720.780.68
PLCM33.7333.9933.4933.8432.570.260.11
RHT25.0025.1524.1624.2724.470.15-0.73
RTN54.5455.2654.1455.2653.220.720.72
SCUR8.818.878.748.818.840.060.00
SID34.6835.9634.6435.5135.201.280.83
SNV32.5732.7832.5132.7832.100.210.21
SPG113.50118.05113.09118.00121.244.554.50
SSTI5.445.505.355.475.190.060.03
TGT62.0262.3561.7762.1359.880.330.11
TRN39.5640.3739.5540.2539.830.810.69
TSN18.3418.8318.1318.7618.010.490.42
UBS62.5063.1262.1763.0463.330.620.54
UIS9.049.149.039.149.220.100.10
URI28.4028.7628.3228.4028.250.360.00
VNO130.51134.48130.04134.32132.853.973.81
WLP80.9881.0680.5680.8779.000.08-0.11
XL72.4872.7272.3372.6171.560.240.13
XLI35.8236.2035.8236.2035.960.380.38
XLU37.9338.2537.9338.2337.840.320.30
XLY39.3639.6239.3139.6239.720.260.26
YHOO29.3729.6829.2629.5629.880.310.19
ZMH83.0784.3982.7884.1885.001.321.11
3792.7453.2231.26

[/Trading/Darvas/D200702] permanent link


Trading Sites of the Day -- A ThreeSome: Alea, Interfluidity, Coding the Markets

Today I ended upon Coding The Markets because of the name. Perhaps this would be a kindred soul who would offerup all sorts of pearls of wisdom. The author doesn't get quite as deep as I would like. He obliquely refers to playing with his 600kloc crafted in MS VC++/MFC. No meat there though. He does spend some time reviewing sections from Larry Harris' book Trading & Exchanges: Market Microstructure for Practitioners. That book does indeed explain a lot of what goes on behind the scenes in the operations of pricing and exchanges.

I managed to get side-tracked to Andrew Gelman's Statistical Modeling, Causal Inference, and Social Science. A lot of the stuff I'm developing is based upon statistics and sampling. Andrew presents the human side of statistics.

Just to match the statistics side with probability, here is the Oddhead Blog.

Continuing to be side tracked, I see an article about scalping at trade-ideas software. Sunday was the first in a series on scalping. There is to be second Wednesday.

Getting back to what was supposed to be my second submission, Alea is a blog that crosses many economic a nd market boundaries, but stays mostly with the derivatives markets. If one were to spend some time with the site, I think there are many potential meaningful tidbits.

And yes, I know, I havn't described the sites in the same order they are presented in the title. Just seeing if you were paying attention. Anyway, the third entry is interfluidity. I think he is talking about the fluidity of the markets from one place to the other and the liquidity (or lack thereof) of the flows thereof.

[/Trading/SiteOfTheDay/D200702] permanent link


Mit Press Journals: Evolutionary Computation

In my pursuit for recent relevant information regarding Genetic Programming, I see that MIT Press has a Journal called Evolutionary Computation. And contrary to many scientific publishers, the subscription cost is actually atainable: $61 for an electronic subscription to a quarterly journal. They do have the odd free article to download as a teaser.

The journal is described as covering "both theoretical and practical developments of computational systems drawing their inspiration from nature, with particular emphasis on evolutionary algorithms (EAs), including, but not limited to, genetic algorithms (GAs), evolution strategies (ESs), evolutionary programming (EP), genetic programming (GP), classifier systems (CSs), and other natural computation techniques."

[/Trading/AutomatedTrading] permanent link


Chris Donnan: Programming - Brooklyn Style

Ahh... finally, a programmer who writes about programming in the financial markets. They guy talks about data sources, optimizers, platforms, languages, networking, and a whole raft of other stuff. I've put him on my read-frequently list.

[/Trading/AutomatedTrading] permanent link


Books on Financial Time Series Analysis

There is a course being presented on Financial Time Series Analysis by J. Michael Steele. There is a reading list titled An Eclectic Selection of Books Pertaining to Financial Time Series. I reprint it here just in case it goes away:

General References:

Chris Chatfield, The Analysis of Time Series: An Introduction (6th Edition), Chapman and Hall, New York, 2004.

This is perhaps the most widely required texts for time series courses at the level of our course. It does not focus specifically on financial series, but it provides one will a good general basis. It strikes a sensible balance between theory and practice.

N. H. Chan, Time Series: Applications to Finance, John Wiley and Sons, New York, 2004.

A straightforward text that develops the theory of time series a the level of our course. It is less encyclopedic than Zivot and Wang, and this makes it easier to read. This text is useful even though it does not fully engage the struggle required by an honest attempt to understand real-world financial time series.

James D. Hamilton, Time Series Analysis, Princeton University Press, Princeton New Jersey, 1994.

For many, the "big green book" is their main resource. Weighing in at just under 800 pages, it is arguably the most complete treatment of the theory of time series as it is currently applied in economics and finance. It is more mathematical than our course, but for students who expect to make time series a serious part of their professional tool kit, it is worth the investment.

Terence C. Mills, The Econometrics of Financial Time Series (second edition), Cambridge University Press, Cambridge UK, 1999.

This book is close to the level of our course, and it provides good supplementary reading. Chapter 5, Modelling Return Distributions is particularly relevant. Whereas Zivot and Whang devote their energy to reporting on models that are off current interest, Mills takes a more editorial point of view. This is also one of our aims.

C.W.J. Granger (editor), Modelling Economic Series: Readings in Econometric Methodology, Clarendon Press, Oxford, 1990.

This is a collection of essays by leading econometrician's. The book now shows signs of age, but some bits are timeless, such as Leamer's "Let's Take the Con out of Econometrics." If I had picked the subtitle, I might have chosen "Modelling is not (or should not be) for Sissies."

State Space Models:

J. Durbin and S. J. Koopman, Time Series Analysis by State Space Models, Oxford University Press, 2000.

This is book is at the level of our class and it provides as smooth an introduction to state space models as you are likely to find. The basic theory is developed without going overboard.

A. C. Harvey, Forecasting, Structural Time Models and the Kalman filter, Cambridge University Press, 1989.

This text is also at the level of our course, and it is also well worth your time. When I first looked at it I thought it was "too hard" for our class, but now I don't see what I thought was the problem.

M. West and J. Harrison, Bayesian Forecasting and Dynamic Models (2nd Ed.), Springer-Verlag, 1999.

This book is often referenced, perhaps more often than it is read. Its 680 pages make it a book that many need to reference but few need to digest. Once you have some experience with state space models, it becomes a useful resource which (ironically!) turns out to be less encyclopedic than one might hope.

Works with an Attitude:

David F. Hendry, Econometrics: Alchemy or Science (New Edition), Oxford University Press, Oxford, 2000.

This bravely titled collection of essays is well-worth dipping into, though I doubt that few readers will plow through all of the individual works. Certainly one of the attractive features of the book is its willingness to tackle some hard issues head-on. De minimus, it gives us a list of the problems that you will face.

Authors of academic papers often relegate their acknowledgment of the shortcomings of their work to their closing paragraphs, and, just as often, they suggest that the present defects will be remedied at a later date. The authors and the readers quietly conspire in their knowledge that no remedy is unlikely to be forthcoming.

Robert E. Rubin and Jacob Weisberg, In an Uncertain World: Tough Choices from Wall Street to Washington, Random House, New York, 2003.

Rubin's premise is that to think wisely about the world, one must think probabilistically. He does not suggest that explicit models must be used at every turn, but he does argue that leaders are nuts unless they explicitly consider multiple circumstances that have widely differing likelihood of coming to pass. The work is autobiographical, and it comes from a certain political perspective. Nevertheless, Rubin is about as nonpartisan as a person can be who has had access to the top levels of financial decision making. This is a nontechnical book, but reading it will enrich almost anyone's understanding of the potential and the limitation of probabilistic models.

Andrei Shleifer, Inefficient Markets: An Introduction to Behavioral Finance, Oxford University Press, Oxford, 2000.

This brief, efficient survey puts on the table all of the most important examples of situations where the Efficient Market Hypothesis is known to break. It sets forth many of the basic arguments both for and against the EMH in all its many flavors.

Original Sources

Textbooks provide an efficient way to get a quick view of the "playing field," but, if you really want to play, then eventually you must engage the original resources. A person who tries to do original research without reading original research is like a person who tries to dance without listening to music. It can be done, but something vital is missing.

Back to Steele's Home Page

[/Trading/TechnicalAnalysis] permanent link


Magazine: Automated Trader -- The Portal of Automated and Algorithmic Trading

Well one magazine called Automated Trader. I'll have to follow it to see what it has to offer.

[/Trading/AutomatedTrading] permanent link


2007 Feb 13 - Tue

Darvas Selections for 2007/02/13

Here are the selections for Tuesday. These lists have the Darvas stop calculated in the second column.

Start: 2007-01-12
High: 2007-02-06
EOD: 2007-02-12
SymbolStop
AA32.29
ABB18.62
AEP45.23
AFL48.71
AMP59.35
ANAD11.40
ARO37.06
AVP38.64
BEN121.77
BMC35.41
CE27.32
CECO28.13
CHINA10.63
CHKP24.43
CIT58.63
CRM44.32
CROX57.32
DE100.95
EEM116.50
EFA74.51
FHN44.05
FRX56.54
GGB18.04
GGP65.07
GNW36.61
HLT37.31
HON45.90
HRS51.69
ITW50.29
KEY38.97
LEA40.60
LEH84.13
MAT26.13
MET62.87
MIR34.61
MLS26.30
MRVC4.19
NOC73.57
NTRS58.66
NUAN12.72
NVL40.00
NYT25.16
RDN62.50
SID35.20
SNE48.01
SNV32.10
SPG121.24
SSTI5.19
STP38.24
TPX24.40
TSN18.01
UIS9.22
WLP79.00
XEL24.14
XLU37.84

Start: 2007-01-12
High: 2007-02-07
EOD: 2007-02-12
SymbolStop
ABB18.62
ACN37.98
AET42.99
AFL48.71
ALTR20.64
AMKR11.40
AMP59.35
AMT39.30
AN22.56
ANAD11.40
ARO37.06
ATHR24.84
BEN121.77
BIG26.34
BMC35.41
CAR26.76
CECO28.13
CHINA10.63
CHKP24.43
CIT58.63
COH47.03
COL66.18
COST54.66
CRM44.32
CROX57.32
CX36.37
DD51.00
DISH41.53
DTV24.76
EEM116.50
EFA74.51
EXPE21.65
FHN44.05
FISV51.44
GGP65.07
GIGM11.95
GILD71.92
GNW36.61
GR48.39
HAS28.94
HCP39.60
HLT37.31
HON45.90
HTZ19.95
IACI39.48
IBN45.89
IFX15.68
ITW50.29
JCP84.09
KEY38.97
KLIC9.09
LEH84.13
LLL83.25
MAT26.13
MCO74.82
MET62.87
MIR34.61
MLS26.30
MRVC4.19
NKE100.25
NOC73.57
NT27.56
NTY52.32
NUAN12.72
NYT25.16
PCAR69.72
PLCM32.57
RHT24.47
RTN53.22
SCUR8.84
SID35.20
SNV32.10
SPG121.24
SSTI5.19
TGT59.88
TRN39.83
TSN18.01
UBS63.33
UIS9.22
URI28.25
VNO132.85
WLP79.00
XL71.56
XLI35.96
XLU37.84
XLY39.72
YHOO29.88
ZMH85.00

[/Trading/Darvas/D200702] permanent link


Darvas Results at EOD 2007/02/12

In comparison, the Dow Jones Industrial Index opened at 12580, had a lower high of 12607, had a lower low of 12536, and closed down further at 12552.

If Low is green, then it stayed above the stop level. If Close is green, the symbol closed up for the day.

Start: 2007-01-09
High: 2007-02-05
EOD: 2007-02-09
SymbolOpenHighLowCloseStopO->HO->C
ACN38.3038.6838.1638.3537.980.380.05
AEP45.5545.9345.4145.6745.230.380.12
AET42.6043.0742.5243.0042.990.470.40
AMP60.1160.4259.7460.2559.350.310.14
ANAD11.3011.9411.0811.4411.400.640.14
ATHR26.3026.3025.3725.7024.840.00-0.60
BIG26.4626.5226.1026.1826.340.06-0.28
CAR26.8526.8526.5126.7926.760.00-0.06
CEN30.6330.7230.4430.7230.380.090.09
CIT59.4759.5058.8358.9058.630.03-0.57
CMS17.3517.6917.2217.5517.420.340.20
CRM46.7947.6346.5447.3944.320.840.60
CROX54.0154.8352.6454.2757.320.820.26
CX35.8235.8335.1235.3536.370.01-0.47
D87.4887.9987.3487.5586.360.510.07
DE102.91103.75102.13103.22100.950.840.31
DO81.0481.1577.7678.9785.140.11-2.07
ETN77.4377.5576.7877.2278.230.12-0.21
ETR97.9098.6697.5097.9296.320.760.02
FE63.1763.5963.0363.2862.300.420.11
FRX54.2554.8753.9554.0956.540.62-0.16
GGB17.3517.4316.9717.0817.740.08-0.27
GMST4.084.174.084.104.140.090.02
GT25.1125.2624.5824.6625.330.15-0.45
HCP40.2040.5039.5439.9441.430.30-0.26
HLT36.3636.4535.8436.2037.310.09-0.16
HLTH14.2114.3214.1214.1814.520.11-0.03
HRS52.7552.7651.4751.6551.690.01-1.10
IACI39.8039.8039.1039.4239.480.00-0.38
KEY39.1639.2538.8738.8938.970.09-0.27
KR25.8526.0625.6825.9025.990.210.05
LEA39.1039.4038.5938.7740.600.30-0.33
MAT25.9926.2025.9726.1726.130.210.18
MIR35.2035.2134.8134.9834.610.01-0.22
MLS26.3326.3325.5725.7526.300.00-0.58
MNST51.8951.9950.9851.4451.390.10-0.45
MRVC4.274.274.144.274.190.000.00
NOC74.0174.6674.0074.4073.570.650.39
NTY51.6151.7250.2850.8952.320.11-0.72
PCAR68.5169.6168.3369.1769.721.100.66
RAD6.106.176.036.106.240.070.00
RRI15.5315.9015.4315.7115.890.370.18
RTN54.7455.0954.4254.5453.220.35-0.20
SCUR8.758.978.668.778.840.220.02
SHLD182.46182.63180.50181.38176.500.17-1.08
SID34.7934.8033.6734.1035.800.01-0.69
SPG117.13117.35114.59114.91121.240.22-2.22
SSTI5.275.425.165.415.280.150.14
STP37.5037.5036.8137.1038.240.00-0.40
SUNW6.466.516.396.426.250.05-0.04
TPX24.5524.8424.4024.8324.400.290.28
TRI49.6549.7549.5549.6548.270.100.00
TSN18.2118.4718.0918.3518.150.260.14
TYC31.4931.8831.4631.8632.320.390.37
UIS8.959.108.939.039.220.150.08
WLP80.9881.1880.4480.6979.000.20-0.29
XEL24.0424.1323.9623.9924.120.09-0.05
XLI35.8735.9335.7535.9135.960.060.04
XLU38.1138.1437.9037.9037.640.03-0.21
XRX17.4017.4517.2817.3817.300.05-0.02
2394.4314.59-9.78

Start: 2007-01-09
High: 2007-02-06
EOD: 2007-02-09
SymbolOpenHighLowCloseStopO->HO->C
AA32.6133.2032.6132.9032.290.590.29
ABB18.4618.4918.2918.3518.620.03-0.11
ACF26.2926.6726.0426.1425.600.38-0.15
AEP45.5545.9345.4145.6745.230.380.12
AFL47.9348.2147.7247.8648.710.28-0.07
AMP60.1160.4259.7460.2559.350.310.14
ANAD11.3011.9411.0811.4411.400.640.14
ARO37.4537.7537.3237.7337.060.300.28
AVP38.9939.0737.9938.1138.640.08-0.88
BEN122.15122.76121.22122.66121.770.610.51
BMC32.8232.9431.0431.1835.410.12-1.64
CCK22.5722.7422.4822.6622.330.170.09
CECO29.4129.4929.1929.3028.130.08-0.11
CHINA10.8210.8810.5110.6110.630.06-0.21
CHKP24.2724.6324.0224.5024.430.360.23
CIT59.4759.5058.8358.9058.630.03-0.57
CMS17.3517.6917.2217.5517.420.340.20
CRM46.7947.6346.5447.3944.320.840.60
CROX54.0154.8352.6454.2757.320.820.26
DE102.91103.75102.13103.22100.950.840.31
EEM114.35114.35112.81113.37116.500.00-0.98
EFA74.5374.5774.2274.3574.510.04-0.18
FHN44.0644.0643.5843.7544.050.00-0.31
FRX54.2554.8753.9554.0956.540.62-0.16
GGB17.3517.4316.9717.0817.740.08-0.27
GGP61.9062.2459.7160.4065.070.34-1.50
GNW36.1236.4435.8335.8836.610.32-0.24
HLT36.3636.4535.8436.2037.310.09-0.16
HLTH14.2114.3214.1214.1814.520.11-0.03
HRS52.7552.7651.4751.6551.690.01-1.10
HYSL42.1642.1641.3341.4042.440.00-0.76
ITW51.2551.7551.2551.6650.290.500.41
KEY39.1639.2538.8738.8938.970.09-0.27
LEA39.1039.4038.5938.7740.600.30-0.33
LEH83.3083.7781.4782.2284.130.47-1.08
MAT25.9926.2025.9726.1726.130.210.18
MET63.9564.0063.2563.4562.870.05-0.50
MIR35.2035.2134.8134.9834.610.01-0.22
MLS26.3326.3325.5725.7526.300.00-0.58
MOGN21.3521.8321.3521.3821.620.480.03
MRVC4.274.274.144.274.190.000.00
MTG65.5365.7363.6364.2067.450.20-1.33
NOC74.0174.6674.0074.4073.570.650.39
NTRS61.9162.2561.8062.0158.660.340.10
NUAN13.5513.7313.4013.5412.720.18-0.01
NVL44.0144.0143.6743.6732.560.00-0.34
NYT25.2525.4325.1425.1925.420.18-0.06
RDN62.3262.6460.1060.9262.500.32-1.40
SID34.7934.8033.6734.1035.800.01-0.69
SNE49.1049.1548.5148.8448.010.05-0.26
SNV32.6432.8032.4732.5432.100.16-0.10
SPG117.13117.35114.59114.91121.240.22-2.22
SSTI5.275.425.165.415.280.150.14
STP37.5037.5036.8137.1038.240.00-0.40
TPX24.5524.8424.4024.8324.400.290.28
TSN18.2118.4718.0918.3518.150.260.14
UIS8.959.108.939.039.220.150.08
WLP80.9881.1880.4480.6979.000.20-0.29
WMI35.2035.3534.8034.9338.310.15-0.27
XEL24.0424.1323.9623.9924.120.09-0.05
XLU38.1138.1437.9037.9037.640.03-0.21
2319.5714.61-15.12

[/Trading/Darvas/D200702] permanent link


Trading Site of the Day -- Smart Options Report: Smart Financial 'Options' For The Savvy
Investor

I don't actually subscribe to the Smart Options eReport, but I've landed on serveral of the articles of the web site through searches. The articles I've looked at have been informative and meaningful, and without marketing hyperbole.

One of the recent articles I landed on had to do with Limit Orders and Options. The information regarding Limit Orders is not only applicable to options but is also very applicable when dealing with equities. They talk about going 'inside' the spread to gain good entries and exits. Limits also prevent one from getting shafted from the market makers who attempt to gain every penny possible, so you should as a result try for every penny possible as well. Limit Orders will also offer protection during fast moving markets, they can help prevent the emotional 'gotta get in at all costs' mistake.

Another article, this one from the middle of last year, deals with Option Spread Trading. This one is a good introduction to spreads, and uses bull and bear spreads as examples. With a bear spread, you buy a put in the expectation that the price of an equity will go down. You also sell a put at a lower strike price. By selling a put, the price you get for selling the put offsets part of the premium you paid to buy the higher put. Read the article in its entirety to get a good feel for how the whole mechanics of the trade work.

[/Trading/SiteOfTheDay/D200702] permanent link


2007 Feb 12 - Mon

Darvas Selections for 2007/02/12

Here are the selections for Monday. These lists have the Darvas stop calculated in the second column.

Start: 2007-01-09
High: 2007-02-05
EOD: 2007-02-09
SymbolStop
ACN37.98
AEP45.23
AET42.99
AMP59.35
ANAD11.40
ATHR24.84
BIG26.34
CAR26.76
CEN30.38
CIT58.63
CMS17.42
CRM44.32
CROX57.32
CX36.37
D86.36
DE100.95
DO85.14
ETN78.23
ETR96.32
FE62.30
FRX56.54
GGB17.74
GMST4.14
GT25.33
HCP41.43
HLT37.31
HLTH14.52
HRS51.69
IACI39.48
KEY38.97
KR25.99
LEA40.60
MAT26.13
MIR34.61
MLS26.30
MNST51.39
MRVC4.19
NOC73.57
NTY52.32
PCAR69.72
RAD6.24
RRI15.89
RTN53.22
SCUR8.84
SHLD176.50
SID35.80
SPG121.24
SSTI5.28
STP38.24
SUNW6.25
TPX24.40
TRI48.27
TSN18.15
TYC32.32
UIS9.22
WLP79.00
XEL24.12
XLI35.96
XLU37.64
XRX17.30

Start: 2007-01-09
High: 2007-02-06
EOD: 2007-02-09
SymbolStop
AA32.29
ABB18.62
ACF25.60
AEP45.23
AFL48.71
AMP59.35
ANAD11.40
ARO37.06
AVP38.64
BEN121.77
BMC35.41
CCK22.33
CECO28.13
CHINA10.63
CHKP24.43
CIT58.63
CMS17.42
CRM44.32
CROX57.32
DE100.95
EEM116.50
EFA74.51
FHN44.05
FRX56.54
GGB17.74
GGP65.07
GNW36.61
HLT37.31
HLTH14.52
HRS51.69
HYSL42.44
ITW50.29
KEY38.97
LEA40.60
LEH84.13
MAT26.13
MET62.87
MIR34.61
MLS26.30
MOGN21.62
MRVC4.19
MTG67.45
NOC73.57
NTRS58.66
NUAN12.72
NVL32.56
NYT25.42
RDN62.50
SID35.80
SNE48.01
SNV32.10
SPG121.24
SSTI5.28
STP38.24
TPX24.40
TSN18.15
UIS9.22
WLP79.00
WMI38.31
XEL24.12
XLU37.64

[/Trading/Darvas/D200702] permanent link


Trading Site of the Day -- Financial Sense: Uncommon News & Views for the Wise Investor

Ok, I just realized the irony of my selection, I have a bias towards trading rather than investing. Be that as it may, I have listed an investor's site for my Trading Site of the Day: Financial Sense.

Many other sites that I've come across are mostly rehashes of the daily news. This one is different. Figuratively speaking, this one takes one step back, two steps to the side, and three rungs up a ladder to take a completely different look at our world. Some articles are definitely left leaning in their views. But that certainly forces one to think about just what is our reality. You hear about names in the news and what they are doing. But what drives these 'names'? Financial Sense offers up another perspective.

I've only come across the site today, but it looks like it brings together a wealth of views and commentary on a daily basis. It is also an excellent starting point for searching out related commentaries on the web.

Now if they could turn some of their headlines into RSS feeds, I'd be sure to visit it regularily.

[/Trading/SiteOfTheDay/D200702] permanent link


2007 Feb 11 - Sun

Genetic Programming and Volatility

SmartQuant QuantDeveloper provides a number of mechanisms for optimizing the parameters of an automated strategy. Some of the mechanisms built-in include brute-force, simulated annealing, and if you know how to use it, some routines for neural network capability.

There are other ways for handling the optimization of strategies. At the risk of over optimization, which I've personally encountered, Genetic Programming offers another mechanism for optimization.

Actually, Genetic Programming is a mechanism for finding a workable strategy. By defining a bunch of basic constructs for use by Genetic Programming (GP) module, a GP tool can search out _and_ optimize a strategy.

The best source of information available to me for coming up with an implemenation was John R. Koza's 1992 book called Genetic Programming: On the Programming of Computers by Means of Natural Selection. The first six chapters are the most relevant to developing a GP engine. The remaining chapters offer up well thought out examples, and do go into more advanced processes available.

My current implementation currently has a couple of population replication bugs in it. Once I've eliminated them, I'll post a skeleton solution that can be used within a QuantDeveloper environment for solution finding.

The reason for this post, however, is to record a link to a paper at Olsen & Associates called Genetic Programming with Syntactic Restrictions applied to Financial Volatility Forecasting. Once I have the bugs worked out of my GP implementation, I think I'll review the details of this paper and see if there are any additional enhancments I can make for improving the efficiency/capability of it's selection/refinement mechanisms.

Members of that organization have written book called "An Introduction to High Frequency Finance" by Dacorogna, Gencay, Muller, Olsen and Pictet. A stand out section of that book, among others is a chapter devoted to Adaptive Data Cleaning. As High Frequency Finance is fast and furious, one needs fast algorithms to keep up with the flows. The techniques presented help to clean the data.

The book is math heavy, but a welcome addition for information as to how researchers and practitioners in the field deal with high frequency data.

It has taken me a while to realize only a few of the intracacies of volatility. Volatility is not a good thing. Volatility is a trader's best friend... sometimes. A trader has to understand volatility in order understand how profits are realized. Volatility is a measure of how a trading instrument's price changes. It is on the price changes where a trader makes his money... whether the price goes up, down or sideways.

Bollinger's claim to fame is that he uses volatility, which, for his methods, is measured by the standard deviation, to create opportunities for trading intra-day as well as inter-day. The whole world of Options is based upon volatility measurements and predictions.

With High Frequency data, volatility needs to be computed quickly and efficiently. On Olsen's site, there are a number of other papers that may be of value in reading. I havn't read them through, but am including them here for future reference:

As part of my random walk through web links, I came across an article called Statistical Modelling of Financial Time Series: An Introduction from the Norwegian Computing Center. From their abstract that provides some background in statistics and volatility calcuations:
This note is intended as a summary of a one-day course in quantitative analysis of financial time series. It offers a guide to analysing and modelling financial time series using statistical methods, and is intended for researchers and practitioners in the finance industry.

[/Trading/AutomatedTrading] permanent link


Non Linear Trading

Many, many years ago, when first looking into investing, the books I read were mostly about buying stocks for the long haul based upon a review of the underlying fundamentals.

However, I'd classify myself as a trader as I don't really look at fundamentals, but look at what happens on a daily basis. My preference is to day trade, that is, get in at the beginning of the day, and get out at the end of the day. I like to get out at the end of the day because I've noticed the instruments that I trade tend to gap up or down on opening. That can be nerve-wracking. I havn't studied Single Stock Futures enough to use them to minimize the opening gap risk.

I've analyzed markets through various technical analysis methods such as moving averages, stochastics, trend-lines, linear regressions, and other interesting analytical mechanisms. The randomness of the markets are such that you can't rely on these only. Indicators and visual charts work together to set an appropriate entry and exit points. Some of these are hard for a computer automated solution to perform. Well, I've realized I need to finesses some of these algorithms to only get in to position a few times a day and ignore a lot of the noise that exists.

But I've wanted to trade the noise as well, also known as the ranging randomness. A bunch of tools come into play on this. And this is where Market Makers make their bread and butter.

I've been looking at ways to play the markets without really caring if the markets are ranging or trending. Two references have come to light over the last couple days of my research that help to refine my thoughts.

The first is an article called "Applying Pit-Trading Techniques to Electronic Trading" in the November 2005 issue of Technical Analysis of Stocks & Commodities. The article describes the art of playing the spread. The author, Clem Chambers, claims that "the market pays for liquidity". Liquidity is supplied through limit orders. By supplying short and long limit orders, one can play the spread. He also says that "if the market is wilder than you like, invent your own spread and trade outside the market's spread". This is something I'm going to try.

To reinforce and flesh out these ideas, I saw a discussion on Elite Trader where they discussed a form of this strategy. The remainder of this article assembles excerpts from the thread. If some one else can provide good references on the web for formalizing these strategies, please let me know. There are many good raw ideas in there--I have to work thorugh them and pull out the good ones.

My trading is kind of high frequency in the futures with either a profit fill order or an new entry order every 1 point level in the es sp mini. No mater what price is doing in the es at each 1 point level I have short and long orders pending---------buy to covers, sell to covers, new long orders, or new short orders. As price moves up and down on a daily basis my ratio between my short and long positions constantly changes.

If we have a day like yesterday then my long side positions are depleting and my short side positions are accumulating---------I started yesterday at about 72% to 28% longs to shorts and at the close I was sitting about 81% to 19% shorts to longs.

As priced moved about during the day I made profits mainly from the long side, but I also had numerous short trade 1 point profit fills anytime price moved lower. Every 1 point of emini movement which ever direction is giving me a profit and also at the same time an accumulation to one side of my position or the other. Thursday was an extremely high frequency trading day and I had more r/t's that day then any other for this system that I use-------several hundred r/t's in one day is high frequency enough for me.


That was suppose to be 72%/28% shorts to longs prior to the Thursday news selloff-----then at the end of Thursday I was at 81%/19% shorts to longs. At the lows of Thursday I was at one point sitting around 58%/42% shorts to longs with the big spike down. How this all played out Thursday would take a long time to explain as I had short side position buy-to-covers down every point to 1180 and new long buy orders down to 1190 sitting for the overnight session. Once the price started tearing down I was clicking off orders like a madman-----fortunately I use xtrader which was rock solid all through the price movement.


I trade this way for the ability to be neutral day after day and not having a "need" for the market to go one way or the other to be profitable. You do need multiple accounts that are cross-margined and starting this type of system is the crucial part. If you start this system correctly you will have your cost basis of the longs and shorts spreading farther and farther apart, to a point where the two sides cost basis are outside of the boundaries of the daily trading range. This creates the perfect situation as big trend days or multiple trend days do not hurt you in any way.

The repetitive and continuous 1 point profits on both the long and short side all through out the day are the profit accumulation strength of this way of trading. Yes range or choppy days are really good for this as both sides of the trade end the day with nice gains and a further spread of the sides cost basis.

I will try to take advantage of extreme moves like Thursday to let the shorts run a bit as they did below the 1180 level and my longs only had accumulation orders down to 1190. When price was moving back up after the 1170 lows, I put the needed longs that did not get added in at 1176 to 1180. 1171 to 1189 was missed for the longs since I did not have standing orders to accumulate below 1190. I never have standing long orders on for more then about 8 to 10 points below the current price levels incase some news event hits. Thursday I had to add 19 price levels of long orders and this did not happen until the 1176 to 1180 levels as I wanted to know what exactly had caused the big sell off. The short side was covered for the ones that did not have standing buy-to-cover orders between 1172 and 1175, so that came out about the same as if I had just had standing buy orders all the way from 1179 down to 1171.

There was a few good whipsaws in there during the sell off and recovery that had some good profit hits so Thursday turned out very profitable. I think I wore my mouse out that day with all the frantic order clicking.

If price levels are trading down at the lows of my plotted fib levels, like around 1130 then I would be at 35% to 65% shorts to longs. In this case I would have stops in place for my long positions at all time for any news related events. The short side in this case would have buy back orders down to the long stop level and then the rest would be able to free fall if the news was very bad. I also do not leave all these longs on for the overnight session when at the lower fib levels {I go to 40/60 or better at the end of every day session}. I want to be properly hedged day after day so these type of rules must be followed to protect all of the accounts capital.

I do have one other system that I trade during the day which is much easier to trade then my ratio trading and this system can run with the intra-day trends. This is a linear regression line based system that also trades in both directions at times until strong trends are established. If we have big trend days like Thursday and Friday up moves then I can take advantage of this in a separate system.


I have separate short and long accounts for my ratio trading that are cross-margined and separate short and long accounts for my linear regression line intraday trading that are cross-margined. At times I may move funds between the ratio trading accounts at the end of a week to keep the account balances in line with a formula I use depending on what the current ratio is on that day. This is almost like having two commingled hyperactive swing trades on in both directions at the same time----------- just their position size adjusts over time in relation to the markets price movement. Swing trades have fairly static cost basis though and my system has a very active movement of each sides cost basis as each week goes by.

How many systems can have a 100% profit rate per trade, week after week for all closed out positions? This is the only way I have concluded to get an end of year profit factor or per trade rate that is very very high.


Re last paragraph. Try to give consideration to using the way you determine to change the cost basis over time as a strategy that could be applied to modifying orders for the purpose of reversing holds on non closed out positions. Say for example you decide to close out; then you could in the appropriate account "affect" a reversal instead of a "close out". I feel that this is, in effect, a way to keep your stratey decision making the same and at the same time continue to be in the market instead of sideling that capital until you later rotate it back nto the balancing process that you do. It is the difference between considering profits per trade and profits per available capital.

You do not fix things that are not busted. Terrific. There is still the aditional element of sidelined capital that you have.

I really recognize how you do keep a lot of capital working and chunck off steady profits as the directional nature permits. I do see you feeding that "taken profit" and subsequently reapplying it. My suggestion is to do a "pseudo reversal" across accounts and utilize the exit decision as a more powerfully leveraged decision (twice the financial power).


First off, the system does not need to do anything special on trend days and that is very important or this system would have a big weakness in my opinion. If you have a big price swing like Thursday then sure I will try to take advantage off this, but I do not need to for robustness of returns.

What I was looking for when I started to develop this ratio non-linear trading method was three primary points.

  • I wanted to have a system that could return 3% a month or more on the account balance.
  • I wanted to not "need" the market to go any particular direction on a daily basis.
  • I wanted a method that would benefit from growing position size and not be hindered by this.
  • I did not want the system to degrade in performance from an increase in position sizing.

Running the short and long cost basis away from the current actual trading range is a function of the way I trade all the intraday constant up and down 1 point profits that continually accumulate----------you would have to watch me for 30 minutes to see what I am talking about, then it would make perfect sense.


Quote from tradingbug:

I am currently working on an ES system that does a simliar thing. I look on the daily timeframe to find what would probably be the most likely outcome for the day. Then I use the 30 minute timeframe to determine which way I should take my position trade and scalps. Then I look at the 5 minute and buy pullbacks within my overall position trade to scalp within my position. The key thing is determining when to switch ones position trade direction. You have to get callibrated to the volume of the 30 min and 5 min timeframe along with an absolute indicator.

I think its best to look at the big picture and try to firgure out how the small timeframe influences the longer timeframe.


Your ratio of fractal durations (30/5) is good (B+); for the same purposes, try using the 15 and 2 for a ratio of (15/2).. This will shift your timing ahead. What I mean it that you will make the same set of decisions but they will be made sooner than before.

There are three threads here now: this one; the clininical hypnothreapy one (crying..etc) and the trends stuff that collectively show how persons who are able to entertain with a depth of understanding and can get past being "too smart" and really be able to consider how one "grows" to be able to, optimally, take out of the market what is being offered by the market.

The salient ingredients involve:

  • Knowing concurrent independant trades are required; the trades must be able to run independantly of each other so no netting of positions is taking place.
  • All measures of performance are focused upon return of total leveraged capital being in the market at all times (Thus, edge trading is passe and not a possibility for makng money).
  • The mind and its growth, maintenance and repair is a 24/7 obligation based upon the fact that there is no alternative. Your subconscious mind works all the time and, particularly, when you sleep. Its function is to "organize" your immediate past EXPERIENCE into the subconscious belief system your life has given you. Imagine going from "edge trading" to continuous seamless trading where coordinated independant accounts continuously extract money as price change occurs.
  • Knowing that all sensory inputs are continually paired with the emotions (and the biochemical generation of what "greases" the facile operation of the mind and/or blocks you from thinking about that which endangers you).

Today both my short and long side made booked profits, but what was todays direction------ a little down, some sideways, a nice move up, a little down. My system picks the direction of the market on a macro basis by the ratio----------the higher the daily price levels the more the short side is accumulating positions and just the opposite when the market moves downward. Of course I look at these ratio's in relation to where I have my daily chart fib levels plotted.

On strong intraday trends I am playing one side heavier then the other side based on the indicators I use. At the end of each day though, if I have played the long side real heavy intraday, I must make sure my ratio is in line just prior to the cash session close. For instance, yesterday I had to close out extra longs to be at my proper ratio right at the end of the day. Actually there has been numerous days in the past several weeks where I have had to close out extra positions because of very strong trends running to the finish of the day.

There is several different techniques that I use to move both sides cost basis away from the current trading range-------- but the primary event that moves the cost basis up for the shorts and down for the longs is the way I trade all the constant intraday up/down 1 point profit covers---------some of this is done with the play of position size at these levels and some of it has to do with what gets covered when---------but 1 point of profit is the minimum I take per trade when handling the intraday repetitive trades.

See the "direction" of the day is not always clearly defined or what is the primary means to collecting profits day after day. Daily direction is at times the wrong focus or the wrongly weighted focus for a trade system--------- again I have to comeback to the power of the repetitive and constant intraday price movement within each candlestick and within each intraday trend.

I really do not know of specific references for this method, it is just what I have gravitated too from frustration with the limitations of linear based trading----------getting into a trade with a target and a stop, then "needing" the market to go a specific direction to claim profits for that individual trade. Apparently this is what some traders call non-linear trading, so maybe under NON-LINEAR in google there is some additional ideas for this--------not sure though?


It is wonderful to see someone using an unconventional method successfully - especially on these boards. This technique itself has been around for a while though. The following was written more than a hundred years ago (around 1895) by Charles Dow (founder, Wall Street Journal).

"Catching the Fluctuations- During a "Traders' market:, or a market without any pronounced trend one way or the other, any active stock will move over certain points dozens of times. The plan is to place a net that will catch these daily fluctuations. Buy 100 shares of, say, St. Paul, at the market price, and 100 more every half point up or down, but don't hold more than a 100 at a time at the same figure, and don't accumulate more than 600 shares altogether. Treat every purchase as a separate transaction, and whenever a profit of one point net is shown , sell that 100 shares, buying back on a one point reaction, When a purchase and sale are both indicated at the same figure, do nothing - simply hold that 100 shares, but for convenience assume that 100 has been sold and 100 bought. If St. Paul should keep on going up without a reaction, you would thus always be long 200 shares. Don't get frightened because of a temporary downward tendency. The fluctuations are what bring you profit. Great care must, of course, be taken not to work this system on the bull side if the general trend is downward, or on the bear side if the trend is upward."

Several variations of the above general method are being used in the ES market. An Exchange member of CME I met last year was using a very similar method and doing as much as 8K to 10K roundturns per day. He, though, viewed his method as an attempt to 'make the spread'.


See the "direction" of the day is not always clearly defined or what is the primary means to collecting profits day after day. Daily direction is at times the wrong focus or the wrongly weighted focus for a trade system--------- again I have to comeback to the power of the repetitive and constant intraday price movement within each candlestick and within each intraday trend.


Very interesting comment here. I have found that when my position trading bias changes, it can change into either a reversal OR congestion. If its a reversal, the position trade works out great and I continue to scalp in the direction of the reversal. If its congestion, then I can scalp a little in my position biased direction and the day will still end up a little positive as I am essentially buying down and exiting when a more favorable swing comes in. More often than not I can wait in a lateral trend to exit my position trade at a minor loss.

After congestion comes a BO and then the whole process above starts again.


A net position {if you picked the right direction that day----IF!} will rarely on a daily basis beat a system that literally profits from almost every single gyration of price movement during that day. There is more potential POINTS of profit stored in every single candlestick and every little fluctuation of price movement then there is in most trends from beginning to end during the day. Price moves so erratic through out the day that every little fluctuation has the potential for profits and the only way I have found to take advantage of this, is to be in both sides of the market at all times.

I pull off any extra contracts that I played intraday just prior to the close to be within a formula of the ratio I need to be at for the current price level at that decision time. So yes it is a formula that I use to get my overnight position set properly for the ratio at the current price level when the market closes.


Several years and bigger then what you have listed. Started this with a 70,000 account with bigger spacing between the levels I would play. Over time I am now playing every es point in both directions just at different ratios.

As of right now both sides of the system made some very good booked profits today-----------the short side made some money the first part of the day, then the long side did very well up to the close. Now the short side is profiting again with the earnings news.

To safely start this trade from scratch, I would say that a 100K account could trade every 4 points of es movement. Over time and with the account size increasing you then move to 3 point levels, 2 point levels, etc. The turning on and the start point for this method are critical for immediate success.


I hit 100% to 0% shorts to longs for a period of time in the overnight for my ratio trade----------the china currency news run-up finally touched the price level for this to occur. I may hold off adding any longs until the es penetrates 1135 with the lack of clear news out of GB.


When at the bottom of what I have projected of the current range for my ratio I would be 35 to 65 short to long-------- I never go below this and then I keep a stop for the long side all the time when I have 40% or more longs for news spikes. When at the lower levels of my price range when the longs are heavier, I will close everything down just before the close on Fridays at 50 to 50. Sunday night I will rebalance everything back to the proper ratio once the market reopens.

Where you start this trade from {price level} is very important and yes one side goes into the negative on the very first day if that was a heavy trend day. This trade is best started where the 50 to 50 price level is {right now I have 1160 to 1170 as the range for where my 50/50 is located}. As every little up and down movement of the es is making 1 point profits then the two sides cost basis are adjusting away from the current trading price-----------this is very powerful as the 1 point accumulations are racking up minute by minute. When you start trading for 1 point from .25 to .25, and .50 to .50, and .75 to .75, and .00 to .00 on both the short and long side at the same time the profit accumulation affect is very fast.

You can't start this trade with a small account size in the beginning-----------the minimum would be a 70,000 account and then the spread between levels traded would have to be wide in the beginning weeks of trading.


Not necessarily----------If you were to start this trade and the market traded in a tight range or was choppy for several days then you would have the perfect situation. Your long and short side accounts would both be building up profits as the trading price stayed in lets say a 12 point range over these start up days. Yes at any moment there will be one side of the trade with positions in the negative, but you are hedged by the other side--------------so the rapid and repetitive profit hits are outpacing the amount of loss from the side that is "technically" negative {not a realized negative}.

To focus on the side that is negative will mask your ability to comprehend the amount of realized profits from all the 1 point accumulations. This is the aspect of ratio trading which is difficult to "see" unless you watch this realtime. I will give you a better example later----------------have to go meet friends now.


My company developed a high-efficiency market depth processor for stock/index arbitrage. We deploy it for interlisted arbitrasge trading - by human traders and machines. Basically, it is high-frequency scalping. We developed it (as a part of our trading system) because market data providers fail to delivery necessary quality of market depth we need, especially for Island and Arca ECNs (we tried Reuters, eSignal, Realtick, etc - all they suck). Anyway, our market depth processor has latency less than 1/10 of milisecond and it runs on a cheap single-CPU PC with throughput up to 100,000 messages a second. For example, currently for all Island stocks CPU load is less than 3%. Processing includes parsing direct feed, sorting of depth (with optional aggregating) and sending it into a network for distribution. In terms of money we have traders who quite often are making 5K a day because of the superior speed of the solution. Machines are making 7-10K daily. To summarise : without high-quality data (what implies minimum latency) high-frequency trading is impossible


To my knowledge, reference to high frequency *analytics* is mostly of interest to academics and researchers, who can now study market microstructure matters on a tick-by-tick scale, which result in new implications for risk management, dynamic hedging, agents behavior, etc.

High frequency *trading*, however, is mostly of interest to hedge funds and banks which separate their operations between low frequency ones and high frequency ones. Low frequency usually implies heavier/deeper analytics. The edge is in the numbers, not in the trading. High frequency implies more simple analytics, but the timing and the volume are crucial. They rely more on market microstructure than on acurate solving of PDEs. Yet it does not mean easier to execute. The arbs are risky because you can get stuck on only one leg, and information can turn against you within a second. Unclosed arbs are your loss.

High frequency trades can go from statistical arbs (most commonly heard), to volatility frequency trades/price mean reversals. Most simple arbs, like mergers, correlation triangle arbs, and such, are executed at high frequency because they go vapor quickly.

There would be many other examples I cant think of at the moment. But that should give a good picture. To my belief, HF vs. LF is not about how many trades you shoot per day, but what your strategy is about. HF has been there for a long time. But it's only recently, because of the required skills that distinguish them from low frequency/deeper analytics trades, that a separation has been made. Mostly in hedge funds.


Of course information risk exists!

Information risk is why trading is "expensive". Homogeneous information explains liquidity, and heterogeneous information explains market frictions and trading gridlocks. The more heterogeneous the information is, the highest the informational cost of a trade will be. This informational cost is translated into the bid/ask spread. This is the basis of market microstructure information models.

This is why most of day traders who think they can make money with "trends" get screwed. While they think their trades only cost them broker commissions, they are actually affected by a much higher cost: that of superior information.

Using limit orders on markets does not avoid you the cost of the bid/ask spread. Bid and ask quotes are values conditional to trades based on the information structure of the market. Placing a limit order will only get you hit by traders potentially having superior information, and leave you screwed with losses.

In terms of informational value, technical trading models are not far higher than placing blind trades at random on a market on which vultures with accurate insider information or arbitrage models are waiting for their lunch.


For 11 months. As we are acquiring experience we are adding different trading models. But foundation remains the same - low latency of data feeds and fast orders execution.


Please be reasonable. Our approach does not tolerate the risk of this magnitude. It is an arbitrage - the system takes position for a period of fraction of second and tries to unwind it in another market as soon as we got a fil or partial filll. If it fails to unwind it for profit for a reasonable period (usually 5 seconds), a stop order is issued. As a result losses are pretty limited. So as you can see for our model speed is everything. That is why we process market data in-house because other solution fail to meet necessary latency requirements.


"My trading is kind of high frequency in the futures with either a profit fill order or an new entry order every 1 point level in the es sp mini. No mater what price is doing in the es at each 1 point level I have short and long orders pending---------buy to covers, sell to covers, new long orders, or new short orders. As price moves up and down on a daily basis my ratio between my short and long positions constantly changes........"

Macro - are you still trading this? As best I understand your method of trading, it seems to be a short volatility (mean reversion/option selling, etc) type of strategy with a martingale element embedded into it. What do you do with the accumulating unrealized losers? It seems like in a period of prolonged trending (accentuated by large directional moves), you can easily blow up (or build substantial loses). I simulated your approach (from what I could gather) and it did poorly in the late 90s and during the Bear market of 2000-2002 (as expected). You must have some other signal you are relying on - pure position sizing won't give you a true edge. Like with any martingale strategy, the drawdowns could be huge and provided no artificial limits are hit (forcing liquidation) the capital requirements needed to withstand the drawdown make the resulting returns unattractive. In terms of the mean reversion element, you can probably do better by avoiding the costs associated with frequent trading (i.e. average down less frequently). I don't mean to be critical of your strategy, just trying to understand it (and sharing my concerns in the process). Thanks for posting.

[/Trading/AutomatedTrading] permanent link


Trading Site of the Day -- The Big Picture: A Macro Perspective

The Big Picture looks at the macro perspective on the captital markets, economy, geopolitics, technology, and digitial media. A little bit of everything.

This site looks to be actively maitained. There are articles covering many interesting aspects of the markets, with regular diversions to off-topics like Jazz or classified ad spam.

There is a significant BlogRoll, so if you are looking for a jumping off point to other locations, this might be a good place to start.

[/Trading/SiteOfTheDay/D200702] permanent link


2007 Feb 10 - Sat

Darvas Results at EOD 2007/02/09

In comparison, the Dow Jones Industrial Index opened at 12638, had a high of 12675, had a low of 12545, and closed down at 12580.

If Low is green, then it stayed above the stop level. If Close is green, the symbol closed up for the day.

Start: 2007-01-08
High: 2007-02-02
EOD: 2007-02-08
SymbolOpenHighLowCloseStopO->HO->C
ABB18.5218.7118.4818.5418.620.190.02
ACN38.8438.9338.4838.7937.980.09-0.05
ADCT17.1117.1516.6516.8016.650.04-0.31
AEP45.3346.0345.2345.4545.230.700.12
AMP61.1261.7359.4760.1059.350.61-1.02
ANF83.2283.2280.6981.1982.810.00-2.03
ARBA9.8110.009.419.489.420.19-0.33
AVP38.0539.7238.0039.0636.891.671.01
BC33.8534.0533.1833.2330.490.20-0.62
BNI79.6979.8278.7779.1375.700.13-0.56
BUD50.1850.3749.9750.0550.650.19-0.13
CA26.9627.0026.4626.6925.770.04-0.27
CAR26.5026.7526.4126.7326.760.250.23
CEM11.6411.7511.5411.6711.780.110.03
CEN30.2230.7630.2230.5130.380.540.29
CGV40.4540.8240.3240.8239.990.370.37
CHKP24.7924.9224.3724.3824.430.13-0.41
CIT59.9060.3458.2659.0058.630.44-0.90
CMS17.6917.7417.3417.5217.120.05-0.17
COH47.5947.7546.3146.8647.030.16-0.73
CPWR9.089.228.978.978.880.14-0.11
CRM47.4547.9746.8047.0144.320.52-0.44
CROX56.0056.5053.7554.1557.320.50-1.85
CX36.5336.8535.8035.8236.370.32-0.71
D87.4987.8987.2287.4685.530.40-0.03
DE103.33104.23102.67102.79100.950.90-0.54
DHI28.6628.8027.7428.0529.380.14-0.61
ETN78.0278.2477.1977.4378.230.22-0.59
ETR98.4099.0097.7598.1296.320.60-0.28
FRX55.5555.5554.0154.0356.540.00-1.52
GMST4.184.194.094.143.980.01-0.04
GR50.0350.0549.2449.4048.390.02-0.63
HAS29.2329.4728.0328.3828.940.24-0.85
HCR53.4753.5953.1253.3053.080.12-0.17
HLT37.5037.6036.2636.3637.310.10-1.14
HLTH14.3114.6914.2014.2714.520.38-0.04
HYSL42.6242.7541.6941.9642.440.13-0.66
IJR68.6768.7367.6568.2268.480.06-0.45
IR42.9543.1442.2242.2743.260.19-0.68
JCP83.3884.2282.1582.8584.090.84-0.53
KEY39.1739.3938.8339.0538.970.22-0.12
KR25.9526.2425.6525.8825.990.29-0.07
LEH84.8585.7481.8483.3084.130.89-1.55
LLL87.0087.1285.6386.0383.250.12-0.97
MAT26.4626.5025.8626.0326.130.04-0.43
MCO75.0075.2573.6673.7174.820.25-1.29
MET64.1064.4462.8963.3262.870.34-0.78
MIR34.9835.4534.9835.2034.610.470.22
MNST53.4653.4651.1951.7851.390.00-1.68
NKE103.07104.13103.07103.60100.351.060.53
NOC74.2074.4473.6774.0073.570.24-0.20
NTY51.9952.3850.9551.6852.320.39-0.31
NYB17.3217.3216.6616.7616.940.00-0.56
ONNN9.539.809.489.559.350.270.02
PCAR69.8570.1468.4468.7269.720.29-1.13
PLCM34.5034.9634.1034.2632.570.46-0.24
PRU92.7092.7590.7991.3391.260.05-1.37
PWR21.2921.2920.7320.9320.700.00-0.36
RAD6.266.286.026.156.240.02-0.11
RCL41.7742.0040.8541.0245.010.23-0.75
RGC22.5822.8422.5122.5922.440.260.01
RRI15.7915.8715.4715.7315.890.08-0.06
RTN54.7555.0654.5054.6353.220.31-0.12
RYL56.1856.1853.9354.2757.300.00-1.91
SCUR9.029.108.718.758.840.08-0.27
SID35.4735.8734.7334.9335.800.40-0.54
SLE17.1617.2117.0517.1317.300.05-0.03
SNV32.6832.7732.4132.4932.100.09-0.19
SPF28.0928.1427.4027.5129.270.05-0.58
SSTI5.455.495.225.255.280.04-0.20
SVU38.1238.4037.7137.8837.740.28-0.24
SWK58.0558.0556.7757.0057.260.00-1.05
T37.4937.7236.8336.9037.220.23-0.59
TIN49.4049.6849.1449.4848.290.280.08
TSN18.2518.4918.1218.1218.150.24-0.13
TYC31.8031.8131.4131.4832.320.01-0.32
UIS9.239.328.928.949.220.09-0.29
WSM35.0735.1834.5034.6535.650.11-0.42
XLI36.0236.0735.7435.8535.960.05-0.17
XLY39.8739.9939.2739.4639.720.12-0.41
3087.1620.34-35.91

Start: 2007-01-08
High: 2007-02-05
EOD: 2007-02-08
SymbolOpenHighLowCloseStopO->HO->C
ACN38.8438.9338.4838.7937.980.09-0.05
AEP45.3346.0345.2345.4545.230.700.12
AET43.3843.4542.1042.5742.990.07-0.81
AMP61.1261.7359.4760.1059.350.61-1.02
ANAD11.9311.9311.1011.1311.400.00-0.80
ATHR25.9026.7125.8726.3024.840.810.40
BIG27.4227.4826.0526.3726.340.06-1.05
CAR26.5026.7526.4126.7326.760.250.23
CEN30.2230.7630.2230.5130.380.540.29
CIT59.9060.3458.2659.0058.630.44-0.90
CMS17.6917.7417.3417.5217.120.05-0.17
CRM47.4547.9746.8047.0144.320.52-0.44
CROX56.0056.5053.7554.1557.320.50-1.85
CX36.5336.8535.8035.8236.370.32-0.71
D87.4987.8987.2287.4685.530.40-0.03
DE103.33104.23102.67102.79100.950.90-0.54
DO86.9586.9584.2585.2885.140.00-1.67
ETN78.0278.2477.1977.4378.230.22-0.59
ETR98.4099.0097.7598.1296.320.60-0.28
FE63.6264.3563.0063.1562.900.73-0.47
FRX55.5555.5554.0154.0356.540.00-1.52
GGB17.4517.4617.1417.3417.970.01-0.11
GMST4.184.194.094.143.980.01-0.04
GT25.7025.8525.0525.1125.330.15-0.59
HCP41.5041.5040.1140.9041.430.00-0.60
HLT37.5037.6036.2636.3637.310.10-1.14
HLTH14.3114.6914.2014.2714.520.38-0.04
HRS52.5852.8652.3752.7651.500.280.18
IACI39.9839.9939.4039.6239.480.01-0.36
KEY39.1739.3938.8339.0538.970.22-0.12
KR25.9526.2425.6525.8825.990.29-0.07
LEA37.8539.7037.6839.3940.601.851.54
MAT26.4626.5025.8626.0326.130.04-0.43
MEL44.4545.0044.1244.2544.360.55-0.20
MIR34.9835.4534.9835.2034.610.470.22
MLS26.2026.5126.1026.2026.300.310.00
MNST53.4653.4651.1951.7851.390.00-1.68
MRVC4.504.504.204.224.190.00-0.28
NOC74.2074.4473.6774.0073.570.24-0.20
NTY51.9952.3850.9551.6852.320.39-0.31
PCAR69.8570.1468.4468.7269.720.29-1.13
RAD6.266.286.026.156.240.02-0.11
RRI15.7915.8715.4715.7315.890.08-0.06
RTN54.7555.0654.5054.6353.220.31-0.12
SCUR9.029.108.718.758.840.08-0.27
SHLD185.06187.27180.10181.47176.502.21-3.59
SID35.4735.8734.7334.9335.800.40-0.54
SPG121.25121.62115.61118.22121.240.37-3.03
SSTI5.455.495.225.255.280.04-0.20
STP37.4037.7536.7637.0938.240.35-0.31
SUNW6.616.676.446.486.250.06-0.13
TPX25.0125.0424.2924.5724.400.03-0.44
TRI49.6849.7049.4749.6048.270.02-0.08
TSN18.2518.4918.1218.1218.150.24-0.13
TYC31.8031.8131.4131.4832.320.01-0.32
UIS9.239.328.928.949.220.09-0.29
WLP81.5981.8580.5780.6879.050.26-0.91
XEL24.2224.2623.9024.0024.120.04-0.22
XLI36.0236.0735.7435.8535.960.05-0.17
XLU37.9938.2937.8538.0437.640.300.05
XRX17.3517.5117.3017.4117.300.160.06
2378.1418.52-28.03

[/Trading/Darvas/D200702] permanent link


2007 Feb 09 - Fri

Trading Site of the Day -- Meyers Analytics: Meat and Potatoes of Algorithmic Trading

Meyers Analytics isn't afraid to explain the algorithm behind the product. The man behind the web site is Dennis Meyers. He sells pre-packaged algorithms to those who want an out of the box solution.

For those who like to tinker, I think enough information is provided for one to independently implement the algorithms. If there isn't quite enough information on the web site, he refers to past articles he has written in magazines such as Stocks and Commodities as well as Active Trader.

This style of this site is defintely rare. Describing the algorithm in the package that you are selling is almost unheard of. But, there are many out there who are not programmers and want prepackaged solutions, such as what Mr. Meyers offers. My hat is off.

[/Trading/SiteOfTheDay/D200702] permanent link


Darvas Selections for 2007/02/09

Here are the selections for Friday. These lists have the Darvas stop calculated in the second column.

Start: 2007-01-08
High: 2007-02-02
EOD: 2007-02-08
SymbolStop
ABB18.62
ACN37.98
ADCT16.65
AEP45.23
AMP59.35
ANF82.81
ARBA9.42
AVP36.89
BC30.49
BNI75.70
BUD50.65
CA25.77
CAR26.76
CEM11.78
CEN30.38
CGV39.99
CHKP24.43
CIT58.63
CMS17.12
COH47.03
CPWR8.88
CRM44.32
CROX57.32
CX36.37
D85.53
DE100.95
DHI29.38
ETN78.23
ETR96.32
FRX56.54
GMST3.98
GR48.39
HAS28.94
HCR53.08
HLT37.31
HLTH14.52
HYSL42.44
IJR68.48
IR43.26
JCP84.09
KEY38.97
KR25.99
LEH84.13
LLL83.25
MAT26.13
MCO74.82
MET62.87
MIR34.61
MNST51.39
NKE100.35
NOC73.57
NTY52.32
NYB16.94
ONNN9.35
PCAR69.72
PLCM32.57
PRU91.26
PWR20.70
RAD6.24
RCL45.01
RGC22.44
RRI15.89
RTN53.22
RYL57.30
SCUR8.84
SID35.80
SLE17.30
SNV32.10
SPF29.27
SSTI5.28
SVU37.74
SWK57.26
T37.22
TIN48.29
TSN18.15
TYC32.32
UIS9.22
WSM35.65
XLI35.96
XLY39.72

Start: 2007-01-08
High: 2007-02-05
EOD: 2007-02-08
SymbolStop
ACN37.98
AEP45.23
AET42.99
AMP59.35
ANAD11.40
ATHR24.84
BIG26.34
CAR26.76
CEN30.38
CIT58.63
CMS17.12
CRM44.32
CROX57.32
CX36.37
D85.53
DE100.95
DO85.14
ETN78.23
ETR96.32
FE62.90
FRX56.54
GGB17.97
GMST3.98
GT25.33
HCP41.43
HLT37.31
HLTH14.52
HRS51.50
IACI39.48
KEY38.97
KR25.99
LEA40.60
MAT26.13
MEL44.36
MIR34.61
MLS26.30
MNST51.39
MRVC4.19
NOC73.57
NTY52.32
PCAR69.72
RAD6.24
RRI15.89
RTN53.22
SCUR8.84
SHLD176.50
SID35.80
SPG121.24
SSTI5.28
STP38.24
SUNW6.25
TPX24.40
TRI48.27
TSN18.15
TYC32.32
UIS9.22
WLP79.05
XEL24.12
XLI35.96
XLU37.64
XRX17.30

[/Trading/Darvas/D200702] permanent link


SmartQuant QuantDeveloper & DataCenter Release

SmartQuant has released a revision to QuantDeveloper. DataCenter and QuantDeveloper are at the following revision levels:

DataCenter
Version 2.1.6 (22-Jan-2007) 

QuantDeveloper Enterprise Edition
Version 2.4.3 (08-Feb-2007) 

[/Trading/SmartQuant/Releases] permanent link


Darvas Results at EOD 2007/02/08

In comparison, the Dow Jones Industrial Index opened at 12665, had a high of 12665, had a low of 12575, and closed down at 12637.

If Low is green, then it stayed above the stop level