• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

CQF + C++ Certificate + PhD in Signal Processing

Joined
4/10/13
Messages
20
Points
11
Hi all,

I would like to seek for you advice.

My background is BS in Mechanical Engineering.

Do you all think if I get CQF(Wilmott), C++ Certificate(Quantnet) and PhD in Signal Processing, these qualifications will help me to go into algorithmic trading field or admission of good MFE programme?

I appreciated to listen your valuable advice. :)

Best regards,
WilfredChai
 
Why would you do a PhD in Signal Processing if you want to get into Algorithmic Trading ? It's like training like a runner in the hopes that it would help you become a good swimmer!! Signal Processing, from what I've learned, is about convolution, Laplace & Fourier transforms and Complex Numbers. All of these topics apply very little to Algorithmic trading. The CQF is meant primarily for working professionals with related experience!! I don't think the C++ certificate at Quantnet would count for much if and when your application is being reviewed for a position in Algorithmic Trading. I have not gone through the topics on the certificate but I'm fairly certain it at best gives you an introduction on C++ and introduces the various tools you have at your disposal. If you're a good self-learner, there are lots of texts and tutorial videos on the web that teach the same material as well as the certificate. The only advantage with the Quantnet certificate is that you are given HW assignments (that you have the incentive to complete and do well to get a good certificate), an exam (same logic), official recognition of C++ coursework if applying to Baruch MFE (I'm not too sure about other schools. If I were them, I'd rather see a similar course from, say even, a community college rather than a certificate from a forum/another MFE program) and a dedicated TA to help you with the learning process. With regards to the content and style, there are many other similar yet free options out there on the web. It almost certainly does not teach you how to efficiently use these tools depending on the project at hand which is taught in detail in Data Structures and Algorithms as a major course in univs. You will be grilled on the concepts from this course if you do interview since Algorithmic trading is about achieving high latency via smart hardware configuration and efficient programming.

Get a MS in CS. Do courses like Theory of Computation, Data Structures, Analysis of Algorithms, Machine Learning (I did them unofficially for letter grades on a separate letter) and a hardware course that is related to the Theory of Computation course (I did not do this) and then decide if Algorithmic Trading is for you. It's pretty high level stuff!!
 
Thanks for your advice, Advait.

I am currently doing the research about seeking features(Pattern recognition) for classification of time series with given labels and using SVM(support vector machine).

If I do the PhD, I will continue the project and try to use different neural network and machine learning to integrate the classifiers. I heard some people suggest to use bayesian machine learning as it is popular in algorithms trading now. I will try to use it if I do the PhD.

Do you think this kinds of PhD topics will help?
 
Self-study C++ is very, very difficult.

edit: cute those disagrees, but not what Dale Carnegie would do ;)

Chances are, you are speaking from very small sample or you are using a subset?

communicate
 
The only advantage with the Quantnet certificate is that you are given HW assignments (that you have the incentive to complete and do well to get a good certificate), an exam (same logic), official recognition of C++ coursework if applying to Baruch MFE (I'm not too sure about other schools.


A few more:

1. The course is based on 20 years course from my company Datasim.
2. STL, Boost, PDE, Monte Carlo and finance apps.
3. Ideal springplank for more advanced work.
4. 20/80 rule (doing it right and doing the right things).
5. We do C and C++.
6. WYSIWYG.

Disclaimer: I am the originator of this course.

If I were them, I'd rather see a similar course from, say even, a community college rather than a certificate from a forum/another MFE program) and a dedicated TA to help you with the learning process.

These -if exist - tend to be generic and not relevant to QF. Most outlines I have seen tend to be very short.
 
How much of the C++ you know did you learn through formal courses and certificates? Your bias is painful.

Hey die Barney,
Nice to see back again.

When I started, there was nothing on C++. So I built my own company around it.

Feel free to AMA.

edit: in 1989.
 
You can't be serious!!

1. I don't know about US/China/Europe but your certificate covers material (we did not have templates) taught to me in high school - CBSE board India and like most Indians, I had a pathetic teacher. So, I basically taught myself. The way I did initially was to learn syntax , read briefly through a school text that was passed down 5 years and was shared among 4 (luckily, out of which 2 were only interested in the few rare girls in my CS class and the other had just found out that Biology interests him) and play around on the computer for hours on different projects I could think of. I read the errors I made while compiling them and learned by correcting them by trial and error. My final projects in high school in C++ itself were :
1. Solve a Sudoku puzzle by asking the user to create one.
2. Create an automated school timetable.
3. Find inverse of a nxn matrix.

The reason is that C++ is fundamentally an easy language. There are a few tools and there are precise reasons or applications of these tools and there is the tool's syntax that can be found on the internet in seconds literally. Then, why would I pay you 1500 USD to learn this ? I'd rather pay my internet guy 1500 USD and secure internet for the next 15 years (yes, 1500 USD buys me 500 kbps internet worth 15 years where I live)!!

Moreover, these tools provide for multiple ways of doing stuff. For instance, I never liked using pointers and still can do most of the stuff. You give me 5 reasons why it is hard to self-learn and I'll respond. Frankly, even if you have a below average IQ and have an interest in programming (which generally emanates from the fact that you're lazy and want the machine to the bull's work), you should be fine. I have so many Indian friends of this kind in the US making a solid pay, going to bars and fixating over drunk women and slowly but steadily putting on weight and a bear belly due to their lack of exercise and sedentary lifestyle which is the flip-side of the inherent laziness that attracted them to programming in the first place! And, they love to brag about it almost to say, who cares if we have a below average IQ; we're still living the American dream..

The only part where C++ probably gets difficult is when you need to design efficient algorithms to code in C++. It is hard to self-learn what differences in coding strategy come up due to the fact that, say, pass-by-value and pass-by-reference or whether pass-by-reference is possible from an efficient memory allocation perspective.
 
You are so modest, Advait

3. Find inverse of a nxn matrix.

How did you solve this (without pointers??) You probably want to solve a linear system and not invert a matrix? It is TOY example and I would doubt the quality thereof.

BTW There is so much irrelevant and insulting noise in your post.
 
Look, I was being honest! If the rest of the world believes it to be genuinely hard, hopefully you'll get a lot of customers and you can become a multimillionaire teaching people the basics of C++!

By the way, if you are gonna be sarcastic, I suggest you state it in parenthesis bcoz a lot of people who frequent this forum do not have English as their first language (also, sarcasm as a form of humor is a very British/American custom) and may interpret you're post to be irrational and you might lose customers that way..

I'm still waiting for the five reasons though whenever you're ready if and when you're done with your attempt at sarcasm!!
 
3. Find inverse of a nxn matrix. How did you solve this (without pointers??) You probably want to solve a linear system and not invert a matrix? It is TOY example and I would doubt the quality thereof.

Can you please explain why do you need pointers indispensably for applying Gauss-Jordon elimination method ?


BTW There is so much irrelevant and insulting noise in your post.

Irrelevant; probably yes. I was trying to indicate the ease of C++ indirectly and was also alluding to the fact that knowing programming improves the chances of employment with an above average salary significantly at least for int'l students. Insulting, personally no. I did not mean it to be insulting. I was merely stating it the way it was told to me by my friends.
 
Can you please explain why do you need pointers indispensably for applying Gauss-Jordon elimination method ?

Irrelevant; probably yes. I was trying to indicate the ease of C++ indirectly and was also alluding to the fact that knowing programming improves the chances of employment with an above average salary significantly at least for int'l students. Insulting, personally no. I did not mean it to be insulting. I was merely stating it the way it was told to me by my friends.

Ah, not inversion, but solving Ax = b (Ok, basic maths error, never mind)
OK, us GJ on a big matrix of size N = 10^3, 10^4, 10^6 etc. (hint: dynamic memory)
To be honest, it seems like a toy solution to a toy problem. Quality it something else.


I was referring more to your remarks concerning programmers and women. Keep them to yourself. They have no place. Friendly tip for you ;)
 
Ah, not inversion, but solving Ax = b (Ok, basic maths error) OK, us GJ on a big matrix of size N = 10^3, 10^4. o be honest, it seems like a toy solution to a toy problem.

Ax=b can also be solved without using pointers using the adjoint method. For 4 or mare variables and equations, it gets complicated but is still doable personally. Otherwise, yes pointers should be used as they keep track of changes while implementing the operation automatically for you rather than you keep tracking yourself.

I did not say I did the project in high school using the most efficient algorithm. GJ algorithm is O(n^2) which is pretty inefficient. There are more efficient algorithms of O(nlogn) that can be used where n represents the number of elements in the matrix. So, for n=1000 or 10000 it will either take a lot of time or will return memory errors at some point.


I was referring more to your remarks concerning programmers and women. Keep them to yourself. They have no place. Friendly tip for you

This was told to me by my friends!! And, I was not referring to programmers in general or programmers of Indian origin for that matter. My group of friends can't be considered as an accurate representation of the programmer's population in general or programmers of Indian origin statistically. I'm not residing in the US so the only way of me knowing this is via vocal communication. I was merely indicating that you neither need to be intellectually bright, smart nor even academically inclined to master C++..
 
Ax=b can also be solved without using pointers using the adjoint method. For 4 or mare variables and equations, it gets complicated but is still doable personally. Otherwise, yes pointers should be used as they keep track of changes while implementing the operation automatically for you rather than you keep tracking yourself.

I did not say I did the project in high school using the most efficient algorithm. GJ algorithm is O(n^2) which is pretty inefficient. There are more efficient algorithms of O(nlogn) that can be used where n represents the number of elements in the matrix. So, for n=1000 or 10000 it will either take a lot of time or will return memory errors at some point.

Oh dear.

Have a look here

http://eigen.tuxfamily.org/dox/TutorialLinearAlgebra.html

The adjoint method is no widely used anymore as far as I know..
 
I was referring to it in the context of lack of pointers. The other methods like LU decomp. etc. generally involve use of pointers since they involve row/column operations from what I remember
 
Why are you arguing with a seasoned practitioner as if you are somehow as qualified to teach a course in c++. He has already made it clear that he may be biased and you clearly have only the goal of discounting/discrediting his ability. Some people like the idea of a structured course with a qualified teacher and it works for them.

All you have effectively done is derail this topic from the original poster's question.
 
Why are you arguing with a seasoned practitioner as if you are somehow as qualified to teach a course in c++.

I'm curious; do you find it challenging to understand colloquial English ? At what point of my interlude with Daniel did you believe that I aspired to become like him or was trying to assert that I was similarly qualified at teaching people C++. I'm not qualified to teach any course and I do not intend to be one from my TA experiences I've had before. I do not have the temperament or the patience to tackle and entertain students with queries and issues that are essentially repetitions of what was said in class or in the notes. In experiencing this, I've come to respect teachers in general even more than I used to before since I believe it is a frustrating job.


He has already made it clear that he may be biased and you clearly have only the goal of discounting/discrediting his ability. Some people like the idea of a structured course with a qualified teacher and it works for them.

I have no such goal. I'm merely stating my opinion which happens to be antagonistic to that of Daniel's for which he has a bias for. If you have not read the posts carefully or suffer from some form of anterograde amnesia, I did myself point out the advantages of a course similar to Daniel's. So how can you conclude that I was discrediting him ? As you state, I agree with "Some people like the idea of a structured course with a qualified teacher and it works for them" if any of the advantages I point out is critical to the student's ability to grasp C++ better. I only pointed out that the course, given it's fee, and the advantages it provides (the ones I stated and not the ones Daniel tried to add on) is personally not an inviting prospect. For instance, even if I were a student keen on one of these courses, I could pay 195 USD extra and do a similar course from UCB and get it on an official UCB transcript with a letter grade which personally is better than a "certificate".

All you have effectively done is derail this topic from the original poster's question.

I believe Daniel is probably more to blame than I am courtesy post #4 and #5
 
Why are you arguing with a seasoned practitioner as if you are somehow as qualified to teach a course in c++. He has already made it clear that he may be biased and you clearly have only the goal of discounting/discrediting his ability. Some people like the idea of a structured course with a qualified teacher and it works for them.

All you have effectively done is derail this topic from the original poster's question.

Logical fallacy 101: Appeal to Authority

I think some of what Advait says has merit. He could probably reduce his word count by a tenth, though.
 
Advait - insulting Dr. Daniel Duffy is inexcusable.

I have not gone through the topics on the certificate but I'm fairly certain it at best gives you an introduction on C++ and introduces the various tools you have at your disposal.

Making disparaging comments about something you do not have real knowledge of is speculative at best, and in this case completely misinforming.

The feedback from the students who took the C++ certificate is uniformly positive: the lectures are very well designed (Dr. Duffy did a superb job of putting designing the certificate materials), having a teaching assistant assigned to the student is a unique feature that optimizes the learning experience (and the TA is receiving great praise from the students for his helpfulness and promptness), and learning C+ with examples and exercises from financial engineering is what the students taking the certificate most benefit from.

This feedback comes from students at all career levels, and from all over the world (six continents).
 
Back
Top