Code Monkey home page Code Monkey logo

kiapper's Projects

quantbox_xapi icon quantbox_xapi

QuantBox统一行情交易接口,跨平台Windows/Linux,支持CTP/LTS/XSpeed/Femas

sogeti-masterthesis-crossplatformmobiledevelopment icon sogeti-masterthesis-crossplatformmobiledevelopment

Mobility is becoming increasingly important for many companies. The markets for mobile applications have been growing tremendously the last decade. It is therefore of great interest to reduce the costs of development and maintenance of mobile applications. When developing native applications for multiple platforms some parts of the code will likely implement the same functionality. This functionality is then implemented in different programming languages, for different platforms. Functionalities that are typically the same on all platforms are network communication, data parsing and business logic. These functionalities can account for a large part of the code when developing large and complex applications. This code duplication could be avoided if common functionality could be extracted from the applications and put in a shared base. The aim of this project is to investigate possible solutions to the problem of code duplication in the case of a specific business application, developed for iOS and Android. It consists of a mobile client which performs some transformation of data acquired from a business system and presents it in the native UIs. This thesis first discusses the requirements, constraints and delimitations which are inferred from the application type and the company wishing to apply cross-platform development. It also maps existing cross-platform development methods for this type of application and investigates to which extent the different cross-platform development methods fulfill the requirements. Finally the most suitable method is used in a practical context. The objectives of this project are to provide the company with a recommendation of a method as well as a prototype proving the concept of this method. This project is delimited to only investigating possible solutions for mobile business applications with native UIs. The conclusion of the project is that native C++ is the most suitable method for this type of application. It fulfills all requirements, but further research is needed regarding performance. Key Words: Cross-Platform Development, Android, Native, iOS, Xamarin, Titanium, NDK

submicrotrading icon submicrotrading

Ultra Low Latency Trading Framework (Fix Engine, OMS, FastFix, ETI, Algo Container)

teafiles.cpp icon teafiles.cpp

C++ API for the TeaFile File Format. TeaFiles is Time Series Persistence in Flat Files.

teafiles.net icon teafiles.net

.Net API for the TeaFile File Format. TeaFiles is Time Series Persistence in Flat Files.

teafiles.py icon teafiles.py

Python API for the TeaFile File Format. TeaFiles is Time Series Persistence in Flat Files.

techan.js icon techan.js

A visual, technical analysis and charting (Candlestick, OHLC, indicators) library built on D3.

trading-platform icon trading-platform

This project is the most awaited project in open source community where every user who belongs to Stock Trading always wanted to develop its own software. This project has been developed specifically for Indian Market Stock Trading. It encompasses end to end trading cycle for intraday trading but the design would be such that it can be easily extended for delivery trading. During the lifecycle of this project we will be using most advance technologies but the base code will always be C/C++. Development Methodology: ======================== We use "Incremental Life Cycle Model" along with Cross-Platform Development (Portable). Project Priorities and Assumptions: =================================== 1) Low Latency, High Performance all the time. 2) Wherever choice has to be made between memory and execution speed, we give preference to speed. 3) Every module devloped will be exhaustively tested. How the work Proceed: ===================== Before the beginning of any new project, we should know the "PROBLEM STATEMENT", so here it is "Problem Statement" ------------------- To Build a high performance, low latency, end to end Trading Platform for Indian Stock Market but not limited to which home users should be able use for trading which guarantees (99% of the times) the profit but does not guarantees maximized profit for intraday trading. First Step: ----------- To provide the optimal solution to any problem is "UNDERSTAING THE PROBLEM". To understand the above problem statement you need to really extract the explicit and implcit requirements from the statement. Here is the List of requirements: Explicit: --------- 1) High Performance 2) Low-Latency 3) End-to-End Trading Platform 4) Focus on Indian Stock Market but not limited to it. 5) Guarantees (99% of the times) the profit but does not guarantees maximized profit. 6) Only for Intraday Trading. Implicit: --------- 1) Book Keeping of the order and trade (Order Management System). 2) Availability of Market Data to End-Users on Demand for identifying the stock and placing the order. 3) User Account Management. Might be I missed something please suggest and after reveiw we add it here. Second Step: ------------ To understand the above Explicit/Implicit requirements, you should have the "KNOWLEDGE OF VARIOUS TECHNOLOGIES" and indepth undertstanding of the "PROBLEM DOMAIN" i.e. Stock Market. Once this is achieved we need to architect the solution in terms of Software and Hardware nodes and their integration. Third Step: ----------- To solve the problem statement, the above requirements should be "DECOMPOSED IN MODULES" and map to them with technolgoies/software/hardware used. Below is the list of modules we are able to identify: Modules Included: ================= Core Modules: -------------- 1) Core Libraries 2) Manual Order Entry System 3) Auto Order Entry System 4) Artificial Exchange 5) Algorithmic Trading Platform 6) Smart Order Router 7) Direct Trading Platform (Ooptional) Utility Modules: ---------------- 8) Logger Server 9) HeartBeat Server Technologies Used: ================= Software: --------- We always use freeware, Open Source Softwares or APIs which are the part of GPL, LGPL.xx licence. Any special requirement for building/using the modules will be detailed in specific module. For development, we generally use: ---------------------------------- Windows-7 for Operating System but any other OS ca be used. Our Code is Platform Indepandant. Visual Studio 2013 in built compiler for build or Intel@ Compilers which can be easily integrated with Visual Studio IDE. For real time, we generally use: -------------------------------- Linux-susse 10 or above with real time extensions. gcc 4.4.1 for build. vi editor Hardware: --------- No special requirement for development purpose. For real time use, it depands how much Stock you are interested in and the various configuration of modules. We prefer generally the below configuration for any number of Stock Trading: 256 GB RAM 16 core processor 1 TB of HDD/SDD Programming Languages and other Technologies: --------------------------------------------- C, C++99/c++11, Lua, ZeroMq, nanodbc, Lock-Free Data Structures, Intel TBB, Boost, Google Protobuf, MySql, Python. Fourth Step: ------------ Dcompose each module till it becomes entity to provide the useful functionality. We are going to explain this in each module detailed section. Fifth Step: ------------ We do design/develop/benchmark/unit test/integration testing of the above modules. Sixth Step: ------------ We deploy the delivered software on various hardware nodes as per the deployment architecture and integrate them. Seventh Step: ------------ Observe the behaviour of deployed software on live traffic and cut two branches at this level : 1st branch continue to do incremental development and 2nd branch fix the issues reported which can be later merged with 1st branch for another release. Any suggestions for improvement are most welcome.

tushare icon tushare

TuShare is a utility for crawling historical data of China stocks

watch icon watch

Porting MetaWatch to TI's LM3S8962 EVB

zipline icon zipline

Zipline, a Pythonic Algorithmic Trading Library

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.