Description
There is extensive use of C Sharp in Algorithmic Trading system. You need to develop software that automated the generation of trade signals (the signals where then passed on to the systems that did the actual trading).
Primary Responsibilities as a C# Automated / Algorithmic Trading System Developer includes –
• Propose and design technical solutions
• Create new system components
• Enhance existing components
• Provide remediation for existing system issues
• Participate in peer reviews (both code and design reviews)
• Produce effective technical documentation where needed
If you are interested in a IT and finance career as a C# Automated / Algorithmic Trading System Developer then this is a good opportunity for you. The education in programming and trade analysis that you obtain will provide you with a stable platform for career growth in the rapidly expanding and ever-changing world of information technology.
Course Outline:
Overview of the Microsoft .NET Platform
- Introduction to the .NET Platform
- Overview of the .NET Framework
- Benefits of the .NET Framework
- The .NET Framework Components
- C# in the .NET Framework
Overview of C#
- Structure of a C# Program
- Basic Input/Output Operations
- Recommended Practices
- Compiling, Running, and Debugging
- Explaining the structure of a simple C# program
- Using the Console class of the System namespace to perform basic input/output operations
- Handling exceptions in a C# program
- Generating Extensible Markup Language (XML) documentation for a C# application
- Compiling and executing a C# program
- Using the Microsoft Visual Studio Debugger to trace program execution
- Object-Oriented Programming
Object Oriented Concept
- Classes and Objects
- Using Encapsulation
- C# and Object Orientation
- Defining Object-Oriented Systems
- Defining the terms object and class in the context of object-oriented programming
- Describing the three core aspects of an object: identity, state, and behavior
- Describing abstraction and how it helps you to create reusable classes that are easy to maintain
- Using encapsulation to combine methods and data in a single class and enforce abstraction
- Explaining the concepts of inheritance and polymorphism
- Creating and using classes in C#
- Using Reference-Type Variables
Using Reference-Type Variables
- Using Common Reference Types
- The Object Hierarchy
- Namespaces in the .NET Framework
- Data Conversions
- C# Collection
Dynamic Data Structures
- Array List Collection
- Queue Collection
- Stack Collection
- Creating and Destroying Objects
Using Constructors
- Initializing Data
- Objects and Memory
- Resource Managements
- Using constructors to initialize objects
- Creating overloaded constructors that can accept varying parameters
- Describing the lifetime of an object and what happens when it is destroyed
- Creating destructors and using Finalize methods
- Inheritance in C#
Deriving Classes
- Implementing Methods
- Using Sealed Classes
- Using Interfaces
- Using Abstract Classes
Reflection
- Discovering Program Information
- Dynamically Activating Code
- Reflection.Emit
Multithreaded Components
- Threading Concepts
- Creating a new Thread
- Synchronization
- Thread Management
- Creating Multithreaded Components
Gateway Services
- The Remoting Framework
- Creating a Gateway service
- Socket Client / Server Development in C#
Implementing TCP / IP Sockets
- A Socket Server
- A Socket Client
- Case Study – Receive Tick
- Modifying source code of existing Trading Systems
- C++ AMP (Accelerated Massive Parallelism)
Introducing C++ AMP
- C++ AMP API
- Simple array addition using C++ AMP
- Function for Moving Average in C++ AMP
- Simple C++ AMP Version
.NET (Dot Net) Remoting
- Channels
- Remoting Objects
- Client
- Server
C sharp Security
- Code Based Security
- Role Based Security
ADO .NET
- Database Technology
- Data Providers in .NET
- Connection to database
- Processing data
- Stored Procedures
- Database Transaction
- Database Locking
- Case Study