Jump to content

Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.

  • Welcome Guests

    Welcome. You are currently viewing the forum as a guest which does not give you access to all the great features at Traders Laboratory such as interacting with members, access to all forums, downloading attachments, and eligibility to win free giveaways. Registration is fast, simple and absolutely free. Create a FREE Traders Laboratory account here.

brownsfan019

Going to Consult a Programmer - Advice Appreciated

Recommended Posts

I'm going to have a phone consultation w/ a programmer to get an idea if we can put some ideas into action and was looking for some ideas of questions to ask, what to look for etc.

 

Thanks for any help!

 

Depends on what you are having programmed? If it is entry / exit strategies then you would want to be able to test them. Then again maybe you are programming something else................

erie

Share this post


Link to post
Share on other sites
Entry/exits.

 

Then you want the program flexible so you can change the parameters and keep testing it until you are satisfied it either works or it is not acceptable. That way the programmer will not know exactly what you are doing , you are able to do the testing on your own.......Hope that helps some..........

erie

Share this post


Link to post
Share on other sites

If it's really good, break it up into two projects for different programmers, and leave all variables out. Other than that, figure out the best way to pay. In general, programmers prefer per hour, since it's hard to estimate the size of a job. However, make sure you can trust the efficiency of the programmer.

 

I've found that you get what you pay for. Picking the lowest bidder (if you have bids) isn't always the best idea. Get some past work/samples from the programmer to at least test their competency.

Share this post


Link to post
Share on other sites

Interested to see how it works out.

 

I guess if we never hear from brownsfan again, we can assume it worked perfectly and he's in mexico on the beach while his comp trades for him :cool:

Share this post


Link to post
Share on other sites
Interested to see how it works out.

 

I guess if we never hear from brownsfan again, we can assume it worked perfectly and he's in mexico on the beach while his comp trades for him :cool:

 

:)

 

That'd be nice. But I could never rely 100% on a program (at first anyways). I'd be monitoring all activity for sure.

Share this post


Link to post
Share on other sites
Guest forsearch

Apparently data integrity is a key to ensuring that your signals are indeed correctly chosen.

 

Have you decided which platform, for example, that you'll be using to trigger the orders?

 

And which broker's API will you use to execute and place the orders?

 

These are all just basic pieces of the puzzle that you'll have to decide upon to get yourself started.

Share this post


Link to post
Share on other sites
Guest forsearch

Some folks try to use Tradestation and Auto X through OEC as a workaround for true system trading, so I had to ask.

 

You'll need a programmer proficient in C# (see-sharp) language. Probably want to drop them a copy of OEC's API and see if they can develop a stand alone program that will interface directly into the API to trade your system.

 

I'm sure you won't have any problems getting Rob to have his folks steer you in the right direction.

 

http://www.openecry.com/services/api_developers.cfm

Share this post


Link to post
Share on other sites

I'm a programmer (sorry, but i am not taking on any projects right now) and I would make sure the programmer you hire already knows the API and has already done what you want him to do. This will save you time (and money), because the programmer won't have to learn the quirks of the API and thus make less mistakes (less debugging = A LOT of time & money saved). If he has already done what you want him to do, then he can reuse that code base and that will save him more time and you money. Also it is a good idea to have him program in a programming languages that is widely used, productive and still supported (e.g. Visual Basic is not supported by Microsoft anymore) such as C#, so that you can easily hire somebody else (for whatever reason) for maintenance or extension. A C++ app will for example take 5 times as long to program and will be harder to maintain and don't get me started on debugging this crap for memory leaks. While scheme and other functional languages are great, you won't find many developers that understand them and they will probably be more expensive. Anyway, you can't go wrong looking for a C# programmer (especially since LINQ and WPF hit the street).

Share this post


Link to post
Share on other sites

IMHO you also need to take care that in the end all his code does not only work, but is properly documented. I program myself a little bit and it is of invaluable benefit to look at a program from somebody else or at one of my old scripts and immediately understand what it does, when and why. This assures that you or maybe some other programmer understands what has been done and how to improve upon it....therfore decreasing follow up costs.

 

All the best for your project!

Share this post


Link to post
Share on other sites

I wandered over to this thread with a list of items that I was going to write out. However everyone pretty much hit it on the head. Experience with not only the language but the specific API is going to save you both time and money. You also want everything to be well documented. This will allow you to change programmers much easier down the road if desired. If one is serious (not just messing around) about a system you should pay a little more for an experienced programmer. The lowest bidder can quickly turn into a headache and end up costing you more. I would also ask about their prior experience of programming for hire. There are many talented hobbyist out there that know the language but have not actually done projects for pay. This can be important because they will be able to give you a more realistic estimate and should overall save you some time and hassle down the road. The key is...if something doesn't feel right about the individual, than something probably isn't right. I have interviewed individuals in the past but because most of my good friends are programmers I have yet to make the leap to hiring outsiders.

 

Keep us informed as to how it goes.

Share this post


Link to post
Share on other sites

Only thing I would add is the advice I would give anyone entering into a contract or agreement. Spend the extra time necessary so that both parties fully understand the expectations of the other. Of course I guess this thread is all about what would be reasonable expectations for you, don't forget to spend time discovering what the programmer expects. The main reason any agreement goes bad (imo) is mismatched expectations.

Share this post


Link to post
Share on other sites

just to throw my possible worthless 0 cents in here...

I just have to question if something like this is worth paying a real software engineer to create robust software instead of paying some computer science student an 1/8th of the project budget and just have them hack something out.

I'm probly biased because I live within walking distance of the computer science lab at the university here but someday I totally plan on posting a job add. Then interview to find the most hardcore geek who will put in way more man hours into the project just because they enjoy doing it and whatever I pay them will be way more than working in the library. Not to mention they would also be paying themselves by have something to put on their resume instead of work on a free open source project. Right now especially, I would think guys would be frothing at the mouth to get C# experience.

While of course you would lose out on design cycle experience, I just have to question at what point that extra cost makes sense if your just trying to I/O data and do some pattern matching. Not to mention, the softwares life cycle may be far too short to bother with robustness...maybe 4 years from now you find something better than OEC and your back to square one with the API issues.

Also on a tanget..I'm really surprised no one has stepped up to the plate and created some kind of universal abstraction layer software that would act as a bridge between any data vendor/broker and any software behind the bridge. While I'm sure this would have pretty big startup costs, at some point I would think it would gain economy of scale that vendor/brokers/software companies hand would be forced to have to support it and at some point pay a licenseing fee. The API issues in this area are just absurd in its current state. Everyone is doing something slightly different and 3rd party software guys dance through hoops while everyone is trying to do literally the exact same thing.

Share this post


Link to post
Share on other sites

Darth, it really depends on how much experience the computer science student has in developing an actual APPLICATION, not just a sample app or a function that does something specific. From my experience, most computer science students are completely overwhelmed developing a workable application. I have even found that some high school students that have been programming for a while at home just for fun are more qualified than most computer science students. I'd go with a Pro since you're trying to make money with your trading software. Imagine there is some stupid little bug that causes you to lose money. The money you lose will over time be more than what you saved employing a computer science student vs. a professional developer. As always, it all depends on the programmer. Make sure to let them show you a complete working application that they have developed before. I might be biased here since I am a professional developer myself, but there is a big big difference in skill, quality and efficiency between hobbyists and professional programmers just because professional developers have a lot more experience and had to work on some real challenging problems, not the silly problems you work on in school.

Share this post


Link to post
Share on other sites
I might be biased here since I am a professional developer myself, but there is a big big difference in skill, quality and efficiency between hobbyists and professional programmers just because professional developers have a lot more experience and had to work on some real challenging problems, not the silly problems you work on in school.

 

Thats what I mean though as far as I think it depends on the robustness of the software that you need. If you want someone to write a completely charting/order package then I can totally see paying a pro to do it. If your really just wanting a data I/O hack then I would think you could just get this cheaper without paying the experience premium.

As far as computer science students, while sure most will be in the program just looking to get a good career, I'm sure every crop has a few real geeks who are there because thats what they love to do. To me the real advantage of this is for every hour you pay that type, you would probly get 2 extra man hours for free of work. When I'm at brownsfans level what I will be looking for is that guy when they are a jr who also plans to get a masters/phd in data mining/AI. If things worked out you might have an employee on the cheap for a few years. The cool thing with that to me is the projects you would be offering would be far more interesting than the stuff in school so you could probly get free man hours and especially get man hours that would not be economic to pay a professional data miner.

Share this post


Link to post
Share on other sites
To me the real advantage of this is for every hour you pay that type, you would probly get 2 extra man hours for free of work. When I'm at brownsfans level what I will be looking for is that guy when they are a jr who also plans to get a masters/phd in data mining/AI. If things worked out you might have an employee on the cheap for a few years. The cool thing with that to me is the projects you would be offering would be far more interesting than the stuff in school so you could probly get free man hours and especially get man hours that would not be economic to pay a professional data miner.

 

I don't think you need to worry about the money that much when you're at his level. Also I don't even think it makes economic sense. You might get 2 extra man hours for every hour you pay, but it will still take him 2 more than your professional developer (so that's 5 vs 1 hour). You cannot believe the difference in productivity between different developers. Here is an example. You should not forget maintenance of the application which is very important. If you're super talented student gets his master and expects to be paid as much as a professional or isn't interested in your program anymore, you can probably throw away all the code, because it's unmaintainable (once he is knows what he's doing he'll probably even tell you that and he'll want to rewrite it from scratch).

Share this post


Link to post
Share on other sites
Guest forsearch
When my livelihood is on the line, I think I will go w/ the most qualified, regardless of costs. ;)

 

Any luck with your initial consult with the programmer OEC recommended?

Share this post


Link to post
Share on other sites

Hi, I'll toss in my $.02 as well.

 

I'm a professional mechanical systems developer and have been on both sides of contract programming. For the most part what works best for you also works best for the programmer.

 

IMO the most important thing is the specification. 9 of 10 times what causes a delay in a project is ambiguity. You need specify what you want done to an exacting detail. When the developer knows exactly what needs to be completed he can give you a very accurate estimate of time/cost. This also prevents "feature creep" ect.

As others have mentioned well documented code is very important, make it a requirement of the project.

 

Look for a developer who is passionate about mechanical systems and the markets in general, A developer who is motivated by more than money will go that extra mile to make sure your system works and that your happy. Also a good developer will offer tips and assistance about how to improve your system. just make sure they're aren't trying to squeeze more billing out of you.

 

An signed NDA is a good idea too, It can be done quickly over fax and good developer wont blink at signing one.

 

Be prepared for your mechanical system to not work like you expect!!

I've built hundreds of mechanical systems over the years for clients and a majority of the time the system fails to perform like the client expected. This is because of not being totally diligent about your system. Putting the trading logic into software will expose every weakness in the design. If this occurs, get with the developer and have them explain to your satisfaction why you dont see what you expected. The more prep work you do before passing the job to the developer will pay off later.

 

 

Having the developer give you full access to all the relevant variables of the program as others have suggested is a good way you to tweak the program on your own at your leisure.

 

 

Good Luck!

Share this post


Link to post
Share on other sites

BF,

 

I'm a little late to this thread but I have some serious caveats to make you aware of - and I've learned the hard way.

Programmers who do not understand trading will generally not be able to ultimately fulfill your real specs... they imagine too many things that are based on their own propensities instead of yours, they 'quickly' form concepts that are so foreign to reality and your understanding and then unconsciously impose them into the project... and professionals are just as subject to this tendency than undergrad 'stars'.

 

From my own experiences, the best outcomes are generated from enrolling above average programmers who want to learn to trade. You actually teach them your style of trading on their own time. You must be willing to constantly corral them back in to your purposes - because they will be constantly flitting off after their own impulses and ideas. Once they 'get it' from a trading, not programming, point of view (and many never will btw) then spec out the project to them, pay them well (or partner up in some form in some cases), stay on top of the development especially making sure that certain digital replications of your mental processes aren't just programmatic work arounds or approximations that subvert the whole thing...

 

The percentage of progrmmmers who can adjust to the episodic chaos, general uncertainty and mutability, and non normal 'distributions' of the markets is very small... most will not be able to make the necessary leaps

 

...now that I've gotten started I will stop :) Basically the odds of hiring an off the shelf programmer even a 'financial' one and making it really work are small If you want to discuss this approach further PM me.

 

All the best

 

zdo

Share this post


Link to post
Share on other sites

hahaha, zdo, that is very true. I can see that in myself. I had a big problem in the beginning accepting that the markets are dynamic and you can't just apply some indicator or combination thereof that "works". I've gone from fully automatic system (wannabe) trader to fully discretionary. Yours is probably the best overlooked advice in this thread.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.