From: Cor Ligthert[MVP] on
Michel,

I agree with every word you wrote in the messages currently in the thread,
including about Cobol which had in fact no financial methods build in like
Visual Basic has in all its dialects.

Cobol was not a financial based program language, it was oriented on Common
Business language (and then English) and therefore very much equal to Visual
Basic, while the then opponent Fortran was based on algebraic notations
(like now C#).

Fortran was used very much less in large (especial banking) solutions then
Cobol, which has been the main language from 1965 until somewhere around the
millennium. Most financial persons are not really algebraic, they are
natural language bound. (I am not aware which percentage of running large
bank solutions are still Cobol).

But tools are as good as the one(s) who uses those.

Cor



"Michel Posseth [MCP]" <msdn(a)posseth.com> wrote in message
news:7A79D600-4A1F-4063-BF08-75ACF714D23C(a)microsoft.com...
> Hello Mark ,
>
> VB is an excellent tool for building financial applications as it has a
> native financial module
>
> why would it be bether as other languages you would ask ,why would you
> favor VB ?
>
> Well this has everything to do with the microsoft.visualbasic.dll as this
> is the thing that makes
> VB imho a more powerfull or call it easier to use tool as all other .Net
> languages .
>
> example :
>
>
> This example uses the Pmt function to return the monthly payment for a
> loan during a fixed period. Given are the interest percentage rate per
> period (APR / 12), the total number of payments (TotPmts), the present
> value or principal of the loan (PVal), the future value of the loan
> (FVal), and a number that indicates whether the payment is due at the
> beginning or end of the payment period (PayType).
>
> Sub TestPMT()
> Dim PVal, APR, Payment, TotPmts As Double
> Dim PayType As DueDate
> Dim Response As MsgBoxResult
>
> ' Define money format.
> Dim Fmt As String = "###,###,##0.00"
> ' Usually 0 for a loan.
> Dim FVal As Double = 0
> PVal = CDbl(InputBox("How much do you want to borrow?"))
> APR = CDbl(InputBox("What is the annual percentage rate of your
> loan?"))
> If APR > 1 Then APR = APR / 100 ' Ensure proper form.
> TotPmts = CDbl(InputBox("How many monthly payments will you make?"))
> Response = MsgBox("Do you make payments at the end of month?",
> MsgBoxStyle.YesNo)
> If Response = MsgBoxResult.No Then
> PayType = DueDate.BegOfPeriod
> Else
> PayType = DueDate.EndOfPeriod
> End If
> Payment = Pmt(APR / 12, TotPmts, -PVal, FVal, PayType)
>
> MsgBox("Your payment will be " & Format(Payment, Fmt) & " per month.")
> End Sub
>
> This is just one of the manny manny examples of the
> Microsoft.VisualBasic.Financial namespace
> out of this box we have
>
> Name Description
> DDB Returns a Double specifying the depreciation of an asset for a
> specific time period using the double-declining balance method or some
> other method you specify.
> Equals Overloaded. Determines whether two Object instances are equal.
> (Inherited from Object.)
> FV Returns a Double specifying the future value of an annuity based on
> periodic, fixed payments and a fixed interest rate.
> GetHashCode Serves as a hash function for a particular type. GetHashCode
> is suitable for use in hashing algorithms and data structures like a hash
> table. (Inherited from Object.)
> GetType Gets the Type of the current instance. (Inherited from Object.)
> IPmt Returns a Double specifying the interest payment for a given period
> of an annuity based on periodic, fixed payments and a fixed interest rate.
> IRR Returns a Double specifying the internal rate of return for a series
> of periodic cash flows (payments and receipts).
> MIRR Returns a Double specifying the modified internal rate of return for
> a series of periodic cash flows (payments and receipts).
> NPer Returns a Double specifying the number of periods for an annuity
> based on periodic fixed payments and a fixed interest rate.
> NPV Returns a Double specifying the net present value of an investment
> based on a series of periodic cash flows (payments and receipts) and a
> discount rate.
> Pmt Returns a Double specifying the payment for an annuity based on
> periodic, fixed payments and a fixed interest rate.
> PPmt Returns a Double specifying the principal payment for a given period
> of an annuity based on periodic fixed payments and a fixed interest rate.
> PV Returns a Double specifying the present value of an annuity based on
> periodic, fixed payments to be paid in the future and a fixed interest
> rate.
> Rate Returns a Double specifying the interest rate per period for an
> annuity.
> ReferenceEquals Determines whether the specified Object instances are
> the same instance. (Inherited from Object.)
> SLN Returns a Double specifying the straight-line depreciation of an asset
> for a single period.
> SYD Returns a Double specifying the sum-of-years digits depreciation of an
> asset for a specified period.
> ToString Returns a String that represents the current Object. (Inherited
> from Object.)
>
> regards
>
> Michel Posseth
>
>
>
>
> "Mark" <Mark(a)discussions.microsoft.com> schreef in bericht
> news:BA4AF0C3-BB7A-4A71-A6BB-20893C298DF2(a)microsoft.com...
>> Hello:
>>
>> I work in Finance and have heard that VB.net is a very useful tool for
>> building financial models. Would anyone have an opinion? I am looking for
>> information related to the value of VB.net in Finance.
>>
>> Thanks
>> --
>> Mark
>
>
From: Michel Posseth [MCP] on
Cor ,

I was once told that ING / Postbank still had a Cobol system and if you
google a bit you can find out that for instance Deutsche Bank AG stil,
uses Cobol
i know from one of my co workers that the interpay system had until 4
years ago ( then my colegue left there to work for us ) a Cobol system .

So i guess there is still a lot of Cobol out there what you see more and
more is that companies want to "connect" the Cobol with a nextgen layer to
the outside world
for instance look at this story
http://www.omg.org/mda/mda_files/SuccessStory_DBB_4pages.pdf

Rewriting is for those large mainframe systems probably not an option , i
only wonder who is going to maintain those systems in a few years from now
one of the reassons that ista hired me in the past was that i was capable of
reading there Cobol sources as legacy basic syntax ( pre Visual basic ) is
indeed in some way
easy for us Basic coders to understand .

Keeping this in mind i guess we as Visual Basic coders have a bright future
ahead of us :-)

Michel


"Cor Ligthert[MVP]" <Notmyfirstname(a)planet.nl> schreef in bericht
news:uY$wKsQ6KHA.1932(a)TK2MSFTNGP05.phx.gbl...
> Michel,
>
> I agree with every word you wrote in the messages currently in the thread,
> including about Cobol which had in fact no financial methods build in like
> Visual Basic has in all its dialects.
>
> Cobol was not a financial based program language, it was oriented on
> Common Business language (and then English) and therefore very much equal
> to Visual Basic, while the then opponent Fortran was based on algebraic
> notations (like now C#).
>
> Fortran was used very much less in large (especial banking) solutions then
> Cobol, which has been the main language from 1965 until somewhere around
> the millennium. Most financial persons are not really algebraic, they are
> natural language bound. (I am not aware which percentage of running large
> bank solutions are still Cobol).
>
> But tools are as good as the one(s) who uses those.
>
> Cor
>
>
>
> "Michel Posseth [MCP]" <msdn(a)posseth.com> wrote in message
> news:7A79D600-4A1F-4063-BF08-75ACF714D23C(a)microsoft.com...
>> Hello Mark ,
>>
>> VB is an excellent tool for building financial applications as it has a
>> native financial module
>>
>> why would it be bether as other languages you would ask ,why would you
>> favor VB ?
>>
>> Well this has everything to do with the microsoft.visualbasic.dll as this
>> is the thing that makes
>> VB imho a more powerfull or call it easier to use tool as all other .Net
>> languages .
>>
>> example :
>>
>>
>> This example uses the Pmt function to return the monthly payment for a
>> loan during a fixed period. Given are the interest percentage rate per
>> period (APR / 12), the total number of payments (TotPmts), the present
>> value or principal of the loan (PVal), the future value of the loan
>> (FVal), and a number that indicates whether the payment is due at the
>> beginning or end of the payment period (PayType).
>>
>> Sub TestPMT()
>> Dim PVal, APR, Payment, TotPmts As Double
>> Dim PayType As DueDate
>> Dim Response As MsgBoxResult
>>
>> ' Define money format.
>> Dim Fmt As String = "###,###,##0.00"
>> ' Usually 0 for a loan.
>> Dim FVal As Double = 0
>> PVal = CDbl(InputBox("How much do you want to borrow?"))
>> APR = CDbl(InputBox("What is the annual percentage rate of your
>> loan?"))
>> If APR > 1 Then APR = APR / 100 ' Ensure proper form.
>> TotPmts = CDbl(InputBox("How many monthly payments will you make?"))
>> Response = MsgBox("Do you make payments at the end of month?",
>> MsgBoxStyle.YesNo)
>> If Response = MsgBoxResult.No Then
>> PayType = DueDate.BegOfPeriod
>> Else
>> PayType = DueDate.EndOfPeriod
>> End If
>> Payment = Pmt(APR / 12, TotPmts, -PVal, FVal, PayType)
>>
>> MsgBox("Your payment will be " & Format(Payment, Fmt) & " per month.")
>> End Sub
>>
>> This is just one of the manny manny examples of the
>> Microsoft.VisualBasic.Financial namespace
>> out of this box we have
>>
>> Name Description
>> DDB Returns a Double specifying the depreciation of an asset for a
>> specific time period using the double-declining balance method or some
>> other method you specify.
>> Equals Overloaded. Determines whether two Object instances are equal.
>> (Inherited from Object.)
>> FV Returns a Double specifying the future value of an annuity based on
>> periodic, fixed payments and a fixed interest rate.
>> GetHashCode Serves as a hash function for a particular type.
>> GetHashCode is suitable for use in hashing algorithms and data structures
>> like a hash table. (Inherited from Object.)
>> GetType Gets the Type of the current instance. (Inherited from Object.)
>> IPmt Returns a Double specifying the interest payment for a given period
>> of an annuity based on periodic, fixed payments and a fixed interest
>> rate.
>> IRR Returns a Double specifying the internal rate of return for a series
>> of periodic cash flows (payments and receipts).
>> MIRR Returns a Double specifying the modified internal rate of return for
>> a series of periodic cash flows (payments and receipts).
>> NPer Returns a Double specifying the number of periods for an annuity
>> based on periodic fixed payments and a fixed interest rate.
>> NPV Returns a Double specifying the net present value of an investment
>> based on a series of periodic cash flows (payments and receipts) and a
>> discount rate.
>> Pmt Returns a Double specifying the payment for an annuity based on
>> periodic, fixed payments and a fixed interest rate.
>> PPmt Returns a Double specifying the principal payment for a given period
>> of an annuity based on periodic fixed payments and a fixed interest rate.
>> PV Returns a Double specifying the present value of an annuity based on
>> periodic, fixed payments to be paid in the future and a fixed interest
>> rate.
>> Rate Returns a Double specifying the interest rate per period for an
>> annuity.
>> ReferenceEquals Determines whether the specified Object instances are
>> the same instance. (Inherited from Object.)
>> SLN Returns a Double specifying the straight-line depreciation of an
>> asset for a single period.
>> SYD Returns a Double specifying the sum-of-years digits depreciation of
>> an asset for a specified period.
>> ToString Returns a String that represents the current Object.
>> (Inherited from Object.)
>>
>> regards
>>
>> Michel Posseth
>>
>>
>>
>>
>> "Mark" <Mark(a)discussions.microsoft.com> schreef in bericht
>> news:BA4AF0C3-BB7A-4A71-A6BB-20893C298DF2(a)microsoft.com...
>>> Hello:
>>>
>>> I work in Finance and have heard that VB.net is a very useful tool for
>>> building financial models. Would anyone have an opinion? I am looking
>>> for
>>> information related to the value of VB.net in Finance.
>>>
>>> Thanks
>>> --
>>> Mark
>>
>>

From: Michel Posseth [MCP] on
Cor,

By the way you with your Cobol and VB.Net knowledge could probably sell
yourself for a fortune in such projects
it might be a good idea for you to create a Linkedin profile :-) .

regards

Michel



"Michel Posseth [MCP]" <msdn(a)posseth.com> schreef in bericht
news:0F7FAA74-CC13-43A7-9098-F77B8E93C914(a)microsoft.com...
> Cor ,
>
> I was once told that ING / Postbank still had a Cobol system and if you
> google a bit you can find out that for instance Deutsche Bank AG stil,
> uses Cobol
> i know from one of my co workers that the interpay system had until 4
> years ago ( then my colegue left there to work for us ) a Cobol system .
>
> So i guess there is still a lot of Cobol out there what you see more and
> more is that companies want to "connect" the Cobol with a nextgen layer
> to the outside world
> for instance look at this story
> http://www.omg.org/mda/mda_files/SuccessStory_DBB_4pages.pdf
>
> Rewriting is for those large mainframe systems probably not an option , i
> only wonder who is going to maintain those systems in a few years from now
> one of the reassons that ista hired me in the past was that i was capable
> of reading there Cobol sources as legacy basic syntax ( pre Visual basic )
> is indeed in some way
> easy for us Basic coders to understand .
>
> Keeping this in mind i guess we as Visual Basic coders have a bright
> future ahead of us :-)
>
> Michel
>
>
> "Cor Ligthert[MVP]" <Notmyfirstname(a)planet.nl> schreef in bericht
> news:uY$wKsQ6KHA.1932(a)TK2MSFTNGP05.phx.gbl...
>> Michel,
>>
>> I agree with every word you wrote in the messages currently in the
>> thread, including about Cobol which had in fact no financial methods
>> build in like Visual Basic has in all its dialects.
>>
>> Cobol was not a financial based program language, it was oriented on
>> Common Business language (and then English) and therefore very much equal
>> to Visual Basic, while the then opponent Fortran was based on algebraic
>> notations (like now C#).
>>
>> Fortran was used very much less in large (especial banking) solutions
>> then Cobol, which has been the main language from 1965 until somewhere
>> around the millennium. Most financial persons are not really algebraic,
>> they are natural language bound. (I am not aware which percentage of
>> running large bank solutions are still Cobol).
>>
>> But tools are as good as the one(s) who uses those.
>>
>> Cor
>>
>>
>>
>> "Michel Posseth [MCP]" <msdn(a)posseth.com> wrote in message
>> news:7A79D600-4A1F-4063-BF08-75ACF714D23C(a)microsoft.com...
>>> Hello Mark ,
>>>
>>> VB is an excellent tool for building financial applications as it has a
>>> native financial module
>>>
>>> why would it be bether as other languages you would ask ,why would you
>>> favor VB ?
>>>
>>> Well this has everything to do with the microsoft.visualbasic.dll as
>>> this is the thing that makes
>>> VB imho a more powerfull or call it easier to use tool as all other .Net
>>> languages .
>>>
>>> example :
>>>
>>>
>>> This example uses the Pmt function to return the monthly payment for a
>>> loan during a fixed period. Given are the interest percentage rate per
>>> period (APR / 12), the total number of payments (TotPmts), the present
>>> value or principal of the loan (PVal), the future value of the loan
>>> (FVal), and a number that indicates whether the payment is due at the
>>> beginning or end of the payment period (PayType).
>>>
>>> Sub TestPMT()
>>> Dim PVal, APR, Payment, TotPmts As Double
>>> Dim PayType As DueDate
>>> Dim Response As MsgBoxResult
>>>
>>> ' Define money format.
>>> Dim Fmt As String = "###,###,##0.00"
>>> ' Usually 0 for a loan.
>>> Dim FVal As Double = 0
>>> PVal = CDbl(InputBox("How much do you want to borrow?"))
>>> APR = CDbl(InputBox("What is the annual percentage rate of your
>>> loan?"))
>>> If APR > 1 Then APR = APR / 100 ' Ensure proper form.
>>> TotPmts = CDbl(InputBox("How many monthly payments will you make?"))
>>> Response = MsgBox("Do you make payments at the end of month?",
>>> MsgBoxStyle.YesNo)
>>> If Response = MsgBoxResult.No Then
>>> PayType = DueDate.BegOfPeriod
>>> Else
>>> PayType = DueDate.EndOfPeriod
>>> End If
>>> Payment = Pmt(APR / 12, TotPmts, -PVal, FVal, PayType)
>>>
>>> MsgBox("Your payment will be " & Format(Payment, Fmt) & " per
>>> month.")
>>> End Sub
>>>
>>> This is just one of the manny manny examples of the
>>> Microsoft.VisualBasic.Financial namespace
>>> out of this box we have
>>>
>>> Name Description
>>> DDB Returns a Double specifying the depreciation of an asset for a
>>> specific time period using the double-declining balance method or some
>>> other method you specify.
>>> Equals Overloaded. Determines whether two Object instances are equal.
>>> (Inherited from Object.)
>>> FV Returns a Double specifying the future value of an annuity based on
>>> periodic, fixed payments and a fixed interest rate.
>>> GetHashCode Serves as a hash function for a particular type.
>>> GetHashCode is suitable for use in hashing algorithms and data
>>> structures like a hash table. (Inherited from Object.)
>>> GetType Gets the Type of the current instance. (Inherited from
>>> Object.)
>>> IPmt Returns a Double specifying the interest payment for a given period
>>> of an annuity based on periodic, fixed payments and a fixed interest
>>> rate.
>>> IRR Returns a Double specifying the internal rate of return for a series
>>> of periodic cash flows (payments and receipts).
>>> MIRR Returns a Double specifying the modified internal rate of return
>>> for a series of periodic cash flows (payments and receipts).
>>> NPer Returns a Double specifying the number of periods for an annuity
>>> based on periodic fixed payments and a fixed interest rate.
>>> NPV Returns a Double specifying the net present value of an investment
>>> based on a series of periodic cash flows (payments and receipts) and a
>>> discount rate.
>>> Pmt Returns a Double specifying the payment for an annuity based on
>>> periodic, fixed payments and a fixed interest rate.
>>> PPmt Returns a Double specifying the principal payment for a given
>>> period of an annuity based on periodic fixed payments and a fixed
>>> interest rate.
>>> PV Returns a Double specifying the present value of an annuity based on
>>> periodic, fixed payments to be paid in the future and a fixed interest
>>> rate.
>>> Rate Returns a Double specifying the interest rate per period for an
>>> annuity.
>>> ReferenceEquals Determines whether the specified Object instances are
>>> the same instance. (Inherited from Object.)
>>> SLN Returns a Double specifying the straight-line depreciation of an
>>> asset for a single period.
>>> SYD Returns a Double specifying the sum-of-years digits depreciation of
>>> an asset for a specified period.
>>> ToString Returns a String that represents the current Object.
>>> (Inherited from Object.)
>>>
>>> regards
>>>
>>> Michel Posseth
>>>
>>>
>>>
>>>
>>> "Mark" <Mark(a)discussions.microsoft.com> schreef in bericht
>>> news:BA4AF0C3-BB7A-4A71-A6BB-20893C298DF2(a)microsoft.com...
>>>> Hello:
>>>>
>>>> I work in Finance and have heard that VB.net is a very useful tool for
>>>> building financial models. Would anyone have an opinion? I am looking
>>>> for
>>>> information related to the value of VB.net in Finance.
>>>>
>>>> Thanks
>>>> --
>>>> Mark
>>>
>>>
>

From: Family Tree Mike on
On 5/1/2010 3:56 AM, Michel Posseth [MCP] wrote:
> Mike ,,
>
> I wonder why you answer to a post in a VB.Net newsgroup and mention Java
> , C# explicitly and not VB
>

Sorry, I thought I had implied that VB.Net was a valid, and only pointed
out a couple of other languages that are just as valid.

--
Mike
From: Family Tree Mike on
On 5/1/2010 2:47 AM, Michel Posseth [MCP] wrote:
> Hello Mark ,
>
> VB is an excellent tool for building financial applications as it has a
> native financial module
>
> why would it be bether as other languages you would ask ,why would you
> favor VB ?
>
> Well this has everything to do with the microsoft.visualbasic.dll as
> this is the thing that makes
> VB imho a more powerfull or call it easier to use tool as all other .Net
> languages .
>

Your point is well taken, as I didn't realize the Excel like functions
existed in that dll. My code background is in atmospheric modeling, not
financial applications. The original question had to do with the value
of VB.net in finance. I use VB.Net quite a bit, so don't think that I'm
only promoting C#.

It needs to be pointed out that your routine can be used in languages
other than VB.Net. Your code translates quite well to C#, and you can
reference the Microsoft.VisualBasic.dll from a C# project.

--
Mike