How Do You Build Systems Using Python?

Discussion in 'App Development' started by tommo, Nov 21, 2016.

  1. Turveyd

    Turveyd

    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.
     
    #21     Nov 22, 2016
    userque likes this.
  2. userque

    userque

    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.
     
    #22     Nov 22, 2016
    Turveyd and tommo like this.
  3. 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: Nov 22, 2016
    #23     Nov 22, 2016
    alfa8 likes this.
  4. Simples

    Simples

    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.
     
    #24     Nov 23, 2016
  5. 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: Nov 23, 2016
    #25     Nov 23, 2016
  6. 2rosy

    2rosy

    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
     
    #26     Nov 23, 2016
    Simples likes this.
  7. userque

    userque

    Right. Especially since this conversation is directed to someone only just considering trying programming for the first time.
     
    #27     Nov 23, 2016
    Simples likes this.
  8. 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.
     
    #28     Nov 23, 2016
  9. Simples

    Simples

    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.
     
    #29     Nov 23, 2016
    userque likes this.
  10. 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
     
    #30     Nov 23, 2016
    shatteredx, cyborg, dartmus and 2 others like this.