How Do You Build Systems Using Python?

I didn't mean to compare VB6 with Python. My point was that you don't seem to realize that there are GUI frameworks and advanced IDE's available for Python.

But since you mentioned it, BASICA / QBASIC was my first language. My trading algo is currently coded in Excel VBA.

I'm sure there is, there must be, going back 30years is just a joke, not seen any, I was given some half written code and paid well to finish it.

A huge council system I took over and modified 25 years back was Qbasic back in the DOS days.

I do Excel VBA.

Used to write games in assembly, not a lot of call for that these days, Z80a, 6502, 6809 then 68000 good times.
 
Thanks Userque, thats what i was asking.
Obviously it would take forever to code even a basic program if you have to explain every single element/word you want to use in a code. It takes long enough to design a robust strategy let alone having to explain in code what a bid price is, or a moving average.

I assume Python trading libraries exist where you would just copy and paste the vocab into your code to save time.

Surely there is some piece of software out there where all the trading vocabularly is already pre installed?

You may find this google link interesting 'python trading libraries:' https://www.google.com/search?q=python+trading+libraries&ie=utf-8&oe=utf-8

Using a library is a little easier than just copying/pasting code. For example, you can write your own code to load a .csv file into memory; or you can use a library--because loading csv files into memory is a common practice and surely, someone's done it before and made the code available to other programmers to use. Crude pseudo-code:
Code:
import 'some csv library'
// lines that start with '//' are just comment lines, and aren't executed by the language.
// once you've added (or imported) the library to your code, you now have access to new functions/commands provided by the library.
inputFile=open 'C:\someCsvFile.csv'
dataArray=readAll(inputFile)

My point is simply that you don't really have to deal with the individual lines of code when you're using libraries.
 
before code, you'll need a system architecture, system analysis and technical design. Then you'll need User Interface design, data analysis/model, db, sql and process model. Story board your design, review by SME subject matter expert. Then code, python is a good choice. Good luck ...
 
Last edited:
before code, you'll need a system architecture, system analysis and technical design. Then you'll need User Interface design, data analysis/model, db, sql and process model. Story board your design, review by SME subject matter expert. Then code, python is a good choice. Good luck ...

Having all that means you must be clear exactly what you're creating. If you do, great, that means you're already 90% done. If not, better to experiment and make prototypes, to get quick progress feedback. Programming anything useful takes much effort and how you do it depends very much on your needs and constraints.
 
Having all that means you must be clear exactly what you're creating. If you do, great, that means you're already 90% done. If not, better to experiment and make prototypes, to get quick progress feedback. Programming anything useful takes much effort and how you do it depends very much on your needs and constraints.
I didn't think i had room to include prototype but that's implied these days. Anyhooo, the specifications need to be thorough, enough to chuck over the fence for (offshore) development team to start programming. If the programmers are close by, analysis phase can be 70% complete to start programming, the remaining 30% to be completed in parallel. Or ya can just fly by the seat of your pants, start programming and worry about the specs later. Like most wannabe startups, we don't need no stinken specs... lol
Without the above, it's like building a house without an architect, engineer, supplier, carpenters, designer and construction crew.
This is how serious systems are developed. However, if you're a subject matter expert SME and an expert programmer all in one. Go at it. But to bring a system into production to compete in industry, all the steps needs to be in place, and some. Otherwise a hack can cobble up marginally useful code for themselves. And modifying it for existence...
 
Last edited:
Having all that means you must be clear exactly what you're creating. If you do, great, that means you're already 90% done. If not, better to experiment and make prototypes, to get quick progress feedback. Programming anything useful takes much effort and how you do it depends very much on your needs and constraints.
agreed. you don't need to do all that upfront work. To build a system in python you need
1) python
2) data
Start there. You can do a simple daily system using python (pandas) and eod prices from quandl
 
agreed. you don't need to do all that upfront work. To build a system in python you need
1) python
2) data
Start there. You can do a simple daily system using python (pandas) and eod prices from quandl

Right. Especially since this conversation is directed to someone only just considering trying programming for the first time.
 
Right. Especially since this conversation is directed to someone only just considering trying programming for the first time.
are you all aware of the difference between a system vs a program? Any hack can cobble a program. But the title says system, that's a different ball game. Funny thing is non-programmers don't know the difference.
 
are you all aware of the difference between a system vs a program? Any hack can cobble a program. But the title says system, that's a different ball game...

If you read the first post in this thread, you may agree with me he's most likely talking about "trading systems", not necessarily wanting a fully-fledged "application system", or some other sort of system like an "OS". Otherwise, why not just use what's prepackaged and already available for free?

So this is why programmers rarely hold any fun parties, and why many people complain about developers (and Ops-people) not listening properly.

I rarely ponder much on the differences between a system vs a program anyways, as it all depends on requirements. To develop trading systems you need to experiment and learn, so making a rigid application system may not be the best priority. If you aim to beat the market leaders in this segment, you may spend so much time making the application system, you never get to actually trade.
 
are you all aware of the difference between a system vs a program? Any hack can cobble a program. But the title says system, that's a different ball game. Funny thing is non-programmers don't know the difference.

True but we don't learn by learning how to create systems first doing abstract things like architecture design. It's more logical to learn how to program first. You don't go straight into a career as a system architect, without having earned your spurs writing the bits and pieces .

And with modern Agile development we generally write programs that provide immediate functionality and then incrementally extend them, rather than doing all the system development up front. This isn't the 1970's anymore.

For a beginner it's a pretty reasonable path to learn how to get some data, run a simple indicator over it, and produce some trades which they can then trade manually. That IS a system. It might not have been formally specified up front or be pretty, or have nice abstraction, but it's going to teach the beginner a lot of what they will need to do a much better job with the next iteration, or the bigger project which does more complicated things.

Learning some formal system design principles can come later, it's better to learn how to write decent code first, and even before that the OP is going to have to learn to write cruddy code.

GAT
 
Back
Top