d2jsp
Log InRegister
d2jsp Forums > Off-Topic > Computers & IT > Programming & Development > Quick Question About Prog & Finance
Add Reply New Topic New Poll
Member
Posts: 7,238
Joined: Apr 12 2011
Gold: 573.00
Dec 21 2015 08:00am
Hello everyone!

I have some knowledge of VBA that I'm using on a regular basis for my job (asset management).

I'm looking forward to invest time and energy in order to learn another (better...) language.

If anyone could give me some feedback/answer a few questions, I would very much apreciate it!

Thx!
Member
Posts: 32,925
Joined: Jul 23 2006
Gold: 3,804.50
Dec 21 2015 09:08am
Most of us aren't in the field, so you have to help us out. What do you need to accomplish that you can't do in vba? Excel work is the stereotype for the finance field, so I came to the topic intending to recommend vba. Are you looking for command line scripts to do stuff outside of Excel? Building ui instead of command line stuff? Web app to share stuff with other people? Statistics stuff with R?
Member
Posts: 7,238
Joined: Apr 12 2011
Gold: 573.00
Dec 21 2015 09:38am
Quote (carteblanche @ Dec 21 2015 05:08pm)
Most of us aren't in the field, so you have to help us out. What do you need to accomplish that you can't do in vba? Excel work is the stereotype for the finance field, so I came to the topic intending to recommend vba. Are you looking for command line scripts to do stuff outside of Excel? Building ui instead of command line stuff? Web app to share stuff with other people? Statistics stuff with R?



We are using VBA a lot for everything that is data dependent (using bloomberg API). For that purpose, VBA is all right, even though there is probably a better/faster way to do it. To give you an example of what we are doing, we are collecting data of every stocks (price, valuation, risk, 12mth forward earnings etc etc) every day and analyse them in order to get a stock 'scoring' and 'ranking'. We also have a lot of risk analysis, peer analysis etc etc.

but for everything that is not pure quantitative analysis, like portfolio reporting for instance, it's not convenient at all...

Even though it's not really our short term focus, developing apps will be something we gonna be working on eventually.

+ the fact that i'm eager to learn/dvlp new stuff ;)

So my question is basically, which language should I focus on?
Member
Posts: 32,925
Joined: Jul 23 2006
Gold: 3,804.50
Dec 21 2015 09:55am
Quote (F34RG0D @ Dec 21 2015 10:38am)
We are using VBA a lot for everything that is data dependent (using bloomberg API). For that purpose, VBA is all right, even though there is probably a better/faster way to do it. To give you an example of what we are doing, we are collecting data of every stocks (price, valuation, risk, 12mth forward earnings etc etc) every day and analyse them in order to get a stock 'scoring' and 'ranking'. We also have a lot of risk analysis, peer analysis etc etc.

but for everything that is not pure quantitative analysis, like portfolio reporting for instance, it's not convenient at all...

Even though it's not really our short term focus, developing apps will be something we gonna be working on eventually.

+ the fact that i'm eager to learn/dvlp new stuff ;)

So my question is basically, which language should I focus on?


you did a pretty good job of describing what you can already do well with vba. Unfortunately, you didn't describe what you can't do that well.

Can you describe what "portfolio reporting" is that vba isn't good for? When you say reporting, I automatically think you're exporting an excel sheet with summary data and maybe emailing it to someone, which sounds fine for vba.

When you say "develop apps", what kind of apps? Windows desktop apps, Android apps, ios apps, Web apps? Are these just general purpose apps or do they need to grind data?

I found Java script is great for command line work, Web work, and mobile work. I don't have any experience building desktop apps with it, though. On the other hand, If you need the absolute best performance, then it's probably not a great choice, and instead you'll focus on native/compiled code.

C# is another good choice, but it works best in a Microsoft environment. I don't use much Microsoft anymore, so I haven't used it in a while

This post was edited by carteblanche on Dec 21 2015 09:57am
Member
Posts: 7,238
Joined: Apr 12 2011
Gold: 573.00
Dec 21 2015 10:55am
well right now our reporting looks mostly like what you described: a macro that collects and calculates data, draws graphs, saves as pdf and sends via outlook.

but it's not really convenient since we have to use the excel formating all the way + it's not flexible...

I'm sure ppl in 'bigger" banks/asset management firms moved away from VBA.
Im' wondering what they are using.



Member
Posts: 32,925
Joined: Jul 23 2006
Gold: 3,804.50
Dec 21 2015 01:52pm
.net has interop services for office so you can manipulate Excel files. I think Java has similar services. But if you wanna use Excel for everything, vba its probably the best way.

But it sounds like you're trying to move away from Excel? Java script, python, .net, and all the main languages have apis you can use to create charts, then run stuff through a pdf converter. You mentioned it's not flexible, but you didn't mention what features it's lacking that you want. If you're a Microsoft user, I'd probably learn .net. visual basic has similar syntax to vba, so it might be an easier transition for you. I suspect vba is going to migrate to that direction eventually.
Member
Posts: 16,431
Joined: Jan 27 2006
Gold: 6.66
Dec 22 2015 09:38am
In sell side e-trading here.

Learn c# for sure as a programming language since you're already familiar with .net.
Learn a scripting language like Python.
Learn a stats language like R.
Learn a good data crunching language like matlab.

Edit seeing as you're in AM I would learn matlab if you ever need to do portfolio allocation and quant stuff.
R is nice for ER which seems like what you do.

This post was edited by madeinchinars on Dec 22 2015 09:40am
Member
Posts: 7,238
Joined: Apr 12 2011
Gold: 573.00
Dec 23 2015 07:31am
thanks a lot!

yeah i think i'll start with C# and go from there =)


This post was edited by F34RG0D on Dec 23 2015 07:32am
Member
Posts: 23,862
Joined: Aug 16 2006
Gold: 20.00
Dec 23 2015 08:03pm
Quote (carteblanche @ Dec 21 2015 02:52pm)
.net has interop services for office so you can manipulate Excel files. I think Java has similar services. But if you wanna use Excel for everything, vba its probably the best way.

But it sounds like you're trying to move away from Excel? Java script, python, .net, and all the main languages have apis you can use to create charts, then run stuff through a pdf converter. You mentioned it's not flexible, but you didn't mention what features it's lacking that you want. If you're a Microsoft user, I'd probably learn .net. visual basic has similar syntax to vba, so it might be an easier transition for you. I suspect vba is going to migrate to that direction eventually.


When you start trying to fuck around with other MS products, you wind up in the shit storm that is COM objects

fuck COM objects
Member
Posts: 2,446
Joined: Jul 16 2008
Gold: 2,615.00
Jan 9 2016 06:27pm
Quote (madeinchinars @ Dec 23 2015 01:38am)
In sell side e-trading here.

Learn c# for sure as a programming language since you're already familiar with .net.
Learn a scripting language like Python.
Learn a stats language like R.
Learn a good data crunching language like matlab.

Edit seeing as you're in AM I would learn matlab if you ever need to do portfolio allocation and quant stuff.
R is nice for ER which seems like what you do.


Python is really easy to learn too
I literally could not code at all one year ago but I quickly learnt to test ideas and am now trading live with python (mainly factor models - medium/long periods)
R is also easy to learn but its just not as fast as the other programming languages
I have recently being learning cython to improve spreed
Julia looks really good but doesn't have as much support as python
Go Back To Programming & Development Topic List
Add Reply New Topic New Poll