Saturday, June 18, 2011

Code-breakers

People, I am not a programming genius by any stretch of the imagination. That said, I've done work with a variety of co-authors (Mark Perry, Mrs. Angus, Rodolfo Cermeno, Olan Henry & Nilss Olekalns ) where we write our own code to estimate multivariate GARCH in mean models, which so far are not available as pre-programmed packages in STATA or EVIEWS or SAS.

As a result, I get a fair amount of requests to give code to others. Amazingly to me, many of these requests come from PhD students.

My feeling is that if you are getting a PhD in economics you should write your own code for your dissertation. I usually tell students that and decline to give them the code, but offering to answer any specific questions that they may have about their own coding efforts.

The most bizarre situation I've faced was with a researcher from a central bank in Latin America. He asked for some code and I provided it, but he couldn't get from the code specifically written for my problem and data to a solution to his problem and data. So he asked if he sent me his data would I code up and run the estimations his bosses wanted.

I'd be very interested in hearing in the comments from other researchers how they handle requests to provide code along with any good code-sharing stories.

6 comments:

Jody said...

Custom code = Consulting fees

EE (but with some game theory) I generally post what I'm willing to share for free and quote a price for the rest. But I also left academia to start a business.

I also get a lot of nonsensical code requests, such as "I need code to simulate cognitive radio". CR is a field of research of which there are many different issues being studied, so that's a question like "I need code to simulate macroeconomics".

zimaroll said...

Your view is interesting, and I won't claim it is wrong...just different. In the sciences, we share code all the time. Why reinvent the wheel?

It sounds like it is an additional burden to the phd students. Reminds me of the emeritus researchers bragging about how they had to learn german because the one important paper for their dissertation was written in german.

You could put the code up on a special web page for free access, and put a disclaimer and MOST IMPORTANTLY a citation guide for the Angus-GARCH code, then watch as econ papers proliferate referring to the Angus-GARCH code. You'll be famous! Errr...famouser!

It seems that you are protective of it because it you worked hard at it, and it has value, because - I'm speculating here - economists don't get enough training in programming. Maybe econ depts all over the country need to add a programming course requirement to the degree.

This is just an outsiders perspective, and could therefore be wrong.

Joshua L. Lyle said...

I'm not a researcher. I'm just a code-monkey. Anyway, I only really write two kinds of code:

1. Bespoke. Code written to solve a specific problem for an employer. Some employers shared this code, some didn't. If they didn't, it probably wasn't of any particular use to anyone else anyway.

2. Public. I don't know if any of this has ever been of any use to anyone but me, but it's out there.

Basically, if anyone asks for code I've written, and it won't get me sued by an employer, I'll gladly hand it over. If they want their own bespoke work, that's when I start looking for dolla-dolla-billz.

Anonymous said...

Agree with the above comments. Unless it's proprietary, sharing is usually better.

My two cents:
1. Give your code to the PhDs. When I'm learning a new programming language, I learn best by looking at example code. That way they can also learn what the current best practices are. Maybe have a stipulation that if they come up with a better way to do something, they must share.

2. Share your code with the professionals - it'll probably build some goodwill. If they want you to customize it for their needs, well there better be something in it for you - money, friendship, credit, or (in some cases) 'just for fun' will all fit the bill.

Anonymous said...

I put all my code that is written in sufficiently general/well-documented format up on my website. If I think it's really well done I'll post it to the SSC Stata package archive. When people ask for more details I give them, though in instances like the central bank dude who couldn't adapt the code I could see losing patience.

Anonymous said...

I think your policies are probably out of step with emerging norms.

In my opinion, if the code is used in a published piece, the code and any data necessary to reproduce your results, with little to no changes should be freely available on your website and on the journal's website, period. I realize this is not yet mandated, but I think it is a must.

I generally try to help students or other researchers with questions about the code, provided they are sufficiently knowledgable about the language.

With government and private sector the degree of help I provide depends on what they are using the code for.

I would probably never write code for someone without co-authorship or compensation.

-politicalEconomist