Octave as a replacement for Excel

View: New views
7 Messages — Rating Filter:   Alert me  

Octave as a replacement for Excel

by babelproofreader :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I am currently using Excel to download stock/commodity prices and then calculate various market indicators etc (using the normal Excel spreadsheet functions) and then graphically plot the output. However, due to the amount of data contained in the spreadsheet and the intensive number crunching involved in calculating the various indicators, the speed of calculation within the spreadsheet has slowed down to such an extent that it is becoming impractical to use on a daily basis, and so I am searching for a replacement to this way of doing things.

My question is; would it be possible to use Octave to do all the heavy duty number crunching? What I envisage is simply using Excel or some other spreadsheet just to download daily price data into a database, or perhaps CSV or txt files, and then use this database or these files as input, via scripts, into Octave to do all the indicator calculations for subsequent plotting via Gnuplot, for example. Would this approach be doable, and if so, would there be a worthwhile increase in calculation speed?

Re: Octave as a replacement for Excel

by Bill Denney-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

babelproofreader wrote:

> I am currently using Excel to download stock/commodity prices and then
> calculate various market indicators etc (using the normal Excel spreadsheet
> functions) and then graphically plot the output. However, due to the amount
> of data contained in the spreadsheet and the intensive number crunching
> involved in calculating the various indicators, the speed of calculation
> within the spreadsheet has slowed down to such an extent that it is becoming
> impractical to use on a daily basis, and so I am searching for a replacement
> to this way of doing things.
>
> My question is; would it be possible to use Octave to do all the heavy duty
> number crunching? What I envisage is simply using Excel or some other
> spreadsheet just to download daily price data into a database, or perhaps
> CSV or txt files, and then use this database or these files as input, via
> scripts, into Octave to do all the indicator calculations for subsequent
> plotting via Gnuplot, for example. Would this approach be doable, and if so,
> would there be a worthwhile increase in calculation speed?
Hello,

It is definitely possible to use Octave to do the "heavy duty number
crunching", and it will almost definitely be faster as long as you
appropriately vectorize your code.  If you install the financial
package, then you can also have octave download the data for you (from
Yahoo).  Also, if you write the code to do the technical analysis
indicators, we would very much appreciate if you could contribute it
back into the financial toolbox.

Have a good day,

Bill
_______________________________________________
Help-octave mailing list
Help-octave@...
https://www-old.cae.wisc.edu/mailman/listinfo/help-octave

Re: Octave as a replacement for Excel

by babelproofreader :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Bill,

Thanks for your reply. Just one question, what do you mean by "appropriately vectorize your code"? Also, regarding code, I am quite proficient in VBA, but would this knowledge translate well to Octave's code language?

Bill wrote:
>Also, if you write the code to do the technical analysis indicators, we would very much appreciate if you could contribute it back into the financial toolbox.

If Octave meets my needs I would be happy to contribute code back to the project.

Re: Octave as a replacement for Excel

by Francesco Cat :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

If you are familiar with Matlab, vectorializing code means using
matrices instead of loops.

EG: if you have to divide each element of array A with the
corrisponding element of the array B you should write:

Result = A./B;  (note there is a dot before division)

instead of:

for i = 0:100
   Result(i) = A(i)/B(i)
endfor


Octave supports all the common commands of Matlab so if you find a
good guide to Matlab language you can learn to use Octave from it.
IMHO code is quite different from VB but it is easy to learn and it is
also easy (at least for me) coding something that does not need any
GUI. (EG: something that gets a CSV as input and prints csv and plots
as output).

2008/8/28 babelproofreader <babelproofreader@...>:

>
> Bill,
>
> Thanks for your reply. Just one question, what do you mean by "appropriately
> vectorize your code"? Also, regarding code, I am quite proficient in VBA,
> but would this knowledge translate well to Octave's code language?
>
> Bill wrote:
>>Also, if you write the code to do the technical analysis indicators, we
> would very much appreciate if you could contribute it back into the
> financial toolbox.
>
> If Octave meets my needs I would be happy to contribute code back to the
> project.
>
> --
> View this message in context: http://www.nabble.com/Octave-as-a-replacement-for-Excel-tp19188413p19201636.html
> Sent from the Octave - General mailing list archive at Nabble.com.
>
> _______________________________________________
> Help-octave mailing list
> Help-octave@...
> https://www-old.cae.wisc.edu/mailman/listinfo/help-octave
>
_______________________________________________
Help-octave mailing list
Help-octave@...
https://www-old.cae.wisc.edu/mailman/listinfo/help-octave

Re: Octave as a replacement for Excel

by Carlo de Falco-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


On 28/ago/08, at 15:20, babelproofreader wrote:

> Thanks for your reply. Just one question, what do you mean by  
> "appropriately
> vectorize your code"?

usually people on this list point to the following link when someone  
asks about vectorization,
it refers to Matlab but almost everything it says applies to Octave as  
well.

http://www.mathworks.com/support/tech-notes/1100/1109.html

c.


_______________________________________________
Help-octave mailing list
Help-octave@...
https://www-old.cae.wisc.edu/mailman/listinfo/help-octave

Re: Octave as a replacement for Excel

by babelproofreader :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Further reading has led me to mkoctfile using the GNU GCC compiler. It is possible to download the C/C++ source code for over 150 technical indicators from Ta-Lib at SourceForge.net which begs the question; how easy would it be to simply use this open source code to make .oct files for use in Octave? My reading so far suggests that it would be as easy as simply typing gcc mkoctfile indicator.c into the terminal to create a compiled .oct file , but I can't believe it is that simple. Could anyone tell me what I obviously don't know?

Re: Octave as a replacement for Excel

by Tatsuro MATSUOKA-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello
Perhaps you have to write wrapper code to the open source code.

Please read:
 A.1.9 Calling External Code from Oct-Files
in the octave manual, Appendix A: Dynamically Linked Functions.

That is what you want, I think.

Regards

Tatsuro

--- babelproofreader <babelproofreader@...> wrote:

>
> Further reading has led me to mkoctfile using the GNU GCC compiler. It is
> possible to download the C/C++ source code for over 150 technical indicators
> from Ta-Lib at SourceForge.net which begs the question; how easy would it be
> to simply use this open source code to make .oct files for use in Octave? My
> reading so far suggests that it would be as easy as simply typing gcc
> mkoctfile indicator.c into the terminal to create a compiled .oct file , but
> I can't believe it is that simple. Could anyone tell me what I obviously
> don't know?
>
> --
> View this message in context:
> http://www.nabble.com/Octave-as-a-replacement-for-Excel-tp19188413p19262261.html
> Sent from the Octave - General mailing list archive at Nabble.com.
>
> _______________________________________________
> Help-octave mailing list
> Help-octave@...
> https://www-old.cae.wisc.edu/mailman/listinfo/help-octave
>


--------------------------------------
Enjoy MLB with MAJOR.JP! Ichiro, Matsuzaka, Matsui, and more!
http://pr.mail.yahoo.co.jp/mlb/
_______________________________________________
Help-octave mailing list
Help-octave@...
https://www-old.cae.wisc.edu/mailman/listinfo/help-octave