More Comments on iOS 4 Multitasking

Some More Comments on iOS 4 Multitasking.

Expiration Handlers

If a process is running in background, having issued UIApplication's beginBackgroundTask before, then the process expiration handler's code following the (last) issuing of endBackgroundTask is not executed. In other words: iOS 4 does not wait until your expiration handler block finishes. It waits for the last endBackgroundTask and terminates (kills) the app (quite ungracefully).

View Controllers

If your app enters background the active view controller does not receive a viewWillDisappear. Neither will it receive a viewWillAppear if the app enters foreground.

Application Lifecycle

On iOS 4.0 the message applicationWillTerminate is rarely send. I made some tests and found the following:
  • An app will not receive applicationWillTerminate if it is in background and user selects force quit (pressing the minus sign in the list of recent apps).
  • An app will not receive applicationWillTerminate if it is in background and the user selects to shut down the device while your app is running.
  • An app will not receive applicationWillTerminate if it is in background and system shuts down due to low battery.
  • An app will receive applicationWillTerminate if it is in foreground and system shuts down due to low battery.
  • An app will receive applicationWillTerminate if it is in foreground and the user selects to shut down the device while your app is running.
If you like to save the state of your app you have to do so in applicationWillTerminate (for OS 2.x, 3.x and 4.x) and (!) in applicationDidEnterBackground (for OS 4.0).

A Short Note on iOS 4 (iPhone OS) Multitasking

Last weekend I checked out iOS 4, in particular its multitasking. From articles on the web I got the impression that iOS 4 multitasking isn't a real multitasking, rather a fast app switching (see, e.g., the article by Matt Neuburg as cited on daring fireball).

But: iOS 4 apps are fully multitasking with just two exceptions:
  • The iOS 4 UI event loop is single tasked, i.e. only the front app is running on the UI event loop. If app code is designed to be running on the UI event loop thread, then it is not executing if it enters background. However, this is not a big restriction. An app will not receive any UI events when running in background anyway (even on Mac OS X). If you design your iOS 4 app to be detached from the UI event loop it continues to run when put to background.
  • The OS may terminate your app when resources like memory are running low or "execution time" is used up. This is also not a big restriction. For example, on OS X if memory is running low the user is prompted to terminate an app. Also, on OS X I would terminate an app if it runs crazy and takes up all CPU time. So actually I believe it is an improvement to start thinking about rules when apps are terminated by the OS. (Note: For iOS 4 the rule which terminates an app is a bit too simple, as I will explain soon).

Apart from these restrictions you can run code in background. You can run your own run loop in background and register timers (events) with that run loop.

Background Run Loop

This is done with the following code:

  dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

    // Create and register your timers

    // ...

    // Create/get a run loop an run it
    // Note: will return after the last timer's delegate has completed its job
    [[NSRunLoop currentRunLoop] run];
  });

In the upcoming release of Serial Mail (Version 4.1) I have implemented a background task which sends mail via an SMTP server in background. This background task uses timers to check the response of the SMTP server an hence it is requiring a run loop. I was able to do network connections in background. Apple says that you should prepare that network connections may fail when the app is running in background (however an app needs to check for failing connections anyway).

App Termination

So this solves the first problem, that the UI thread is single threaded. What about iOS terminating your app when it runs in background: To prevent that the OS terminates the app we should tell it that we have a long running background task. Apple suggest that you mark each background tasks by calls to UIApplication's beginBackgroundTask and endBackgroundTask see the developer documentation's sample code. I haven't seen a definition of "long running", but it appears as if the app is terminated if a background task runs 10 minutes after the app has been suspended (it does not help to launch a new background task / thread from another one).

Improving the App Termination Criteria

For my app 10 minutes background task time are sufficient. There are application where you require a truly long running background process checking stuff at certain intervals, etc. However, it is clear that the multitasking introduced in IOS 4 just needs a minor tweak: it requires more sophisticated rules for terminating apps. For apps with background task a much better rule would be to consider cpu time that real time. This would for example allow apps like instapaper to check and download files in background on a regular basis (say, once a day) if that task consumes only a small amount of cpu time. The author of instapaper discussed a different solution in his blog, however I hope for a simpler one: better, transparent criteria for termination of a background apps.

Scheduled Relaunch

Another improvement of the current multitasking APIs, which is more in line with the solution in the instapaper blog, would be to include a user configurable service for scheduled relaunch of an app into background. The service should be configurable on an per app basis. Apps registering with it should bring up a dialog requesting for permission (like location service does). The service should then call a method like applicationDidLaunchToBackground. I would prefer such a solution over a myriad of specialized background services. Instead the relaunch service could take options like "relaunch when network available".

There is one strange thing about iOS 4: When the user terminates the app manually (by deleting it from the list of recently used apps) then iOS does not call your app delegates applicationWillTerminate method. I have used applicationWillTerminate to save the application's state upon termination and now that code had to move to applicationWillResignActive.

Obba: Handling Java Objects in Excel, OpenOffice and NeoOffice

obba
A new version of Obba has been released: Obba Version 1.9.34.

Obba provides a bridge from spreadsheets (Excel or OpenOffice) to Java classes via worksheet functions (UDFs), without the need to write a single line of code. With Obba, you can easily build spreadsheet GUIs to Java classes. Obba is available for Excel and OpenOffice and Obba sheets may be migrated from Excel to OpenOffice or vice versa.

For more information see Obba's homepage.

Release Notes

Version 1.9.34 of Obba brings the following changes:

  • Fixed a problem which prevented loading of some classes. The current thread's context class loader was null. This appears to be a problem with the Java plugin. A workaround was created. Note: This problem resulted in the XMLDecoder not working.
  • Fixed a problem which prevented installation of Obba for OpenOffice.
  • More improvements for OpenOffice
  • Arrays of objects can be created using obMake with a class name of ClassName[] where ClassName is the component type (see documentation for an example).
  • Added a demo sheet showing how to access data from finance.yahoo.com. Include the Java source code for the class handling the web access.

Snow Leopard 64 Bit Kernel - Switching between Apps

Snow Leopard felt slow on my MacBook Pro (5,5). Switching between apps felt sluggish. I usually run Safari, Eclipse an VMWare at the same time and often switch between these.

The MBP booted with 32 bit version of the OS X 10.6 Kernel (this is the default) - thx O.S. for the hint. To my surprise, switching to the 64 bit kernel made a big difference. Switching between apps is much (!) snappier. (I did not see any perfomance test discussing app switching!)

PS: You can boot into the 64 bit kernel by changing the file
/Library/Preferences/SystemConfiguration/com.apple.Boot.plist
to include the following Kernel Flags
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>arch=x86_64</string>

How to Fetch Stock Quotes from Yahoo into Excel/OpenOffice using Java

I wrote a small tutorial on how to use Obba and a small Java class to load Yahoo stock quotes into Excel / OpenOffice. It is just an example and could easily extended to other data / web sites.

Java code and spreadsheets are included.

Obba: Handling Java Objects in Excel and OpenOffice

obba
A new version of Obba has been released: Obba Version 1.9.13.

Obba provides a bridge from spreadsheets (Excel or OpenOffice) to Java classes via worksheet functions (UDFs), without the need to write a single line of code. With Obba, you can easily build spreadsheet GUIs to Java classes. Obba is available for Excel and OpenOffice and Obba sheets may be migrated from Excel to OpenOffice or vice versa.

For more information see Obba's homepage.

Release Notes

Version 1.9.13 of Obba brings the following changes:
  • Added a window to the Obba Control Panel which visualizes the objects and their dependencies in a graph. The dependencies are determined by the objects used during construction an object.
  • Improved the handling of transient object handles.

iPhone OS App: Serial Mail

Icon512
I have ported my OS X Application "Serial Mail" to the iPhone OS. Since the iPhone OS APIs are much cleaner than the AppleScript support of OS X Mail, Serial Mail for iPhone is to some extend faster and better than its OS X counterpart. For details see the Serial Mail home page or check out Serial Mail in the iPhone App Store.

Serial Mail 4.6 released

Serial Mail
I have release an update to Serial Mail. With Serial Mail 4.6 you can add attachments to each generated messages where the attachment is specific for the recipient. In the tag the file name may contain one or two placeholders '%@' where the first placeholder is replaced by the first name and the second placeholder is replaced by the last name of the recipient.

Obba: Handling Java Objects in Excel and OpenOffice

obba
A new version of Obba has been released: Obba Version 1.8.21.

Obba provides a bridge from spreadsheets (Excel or OpenOffice) to Java classes via worksheet functions (UDFs), without the need to write a single line of code. With Obba, you can easily build spreadsheet GUIs to Java classes. Obba is available for Excel and OpenOffice and Obba sheets may be migrated from Excel to OpenOffice or vice versa.

For more information see Obba's homepage.

Release Notes

Version 1.8.21 of Obba brings the following changes:

  • Access fields of an object directly through a spreadsheet function call using 'obCall'. In this case the method name has to be dot + fieldname (e.g '.myMember').
  • Access elements of an array through a spreadsheet function call using 'obCall'. In this case the method name has to be '[]' and the argument of the call is integer specifying the index. Element of multi-dimensional arrays can be accessed likewise.
  • Vector arguments can be passed as arbitrary ranges (columns, rows or two dimensional ranges which are then flattened using row major).

Billiger surfen mit dem iPhoneSimulator


Kürzlich war ich im Hilton Hotel in Frankfurt. Dort gibt es ein WLAN von Swisscom. Geht man vom Laptop auf die Eingangsseite so wird einem ein WLAN Tarif zu 27 Euro pro 24 Stunden angeboten. Das gleiche WLAN vom iPod touch oder iPhone aus besucht bietet einem den "Smartphone Tarif" für 3 Euro pro 24 an.

Ich kaufte auf dem iPod touch den "Smartphone Tarif" und war den Tag über gut zu erreichen.

Die Neugier geweckt stellt ich auf dem Laptop (MBP) in Safari im Developer Menü mal den User Agent auf "Mobile Safari (iPod touch)". Doch es gab trotzdem nur den teuren Tarif. Es ist auch nicht möglich sich mit der User-ID und Passwort des Smartphone-Tarifes vom Laptop aus einzuloggen.

Das ändert sich, wenn man den iPhone Simulator von XCode öffnet. Von diesem aus konnte man sich mit den Zugangsdaten des Smartphone-Tarifes einloggen (über Safari im iPhone Simulator). Danach hat dann das gesamte MacBook Pro Zugang zum Internet, nicht nur der iPhone Simulator! Offensichtlich wird die Überprüfung zum Smartphone-Tarif nur auf der Login-Seite gemacht.

iPhone OS App: Presentation Assistant

PresentationAssistantIcon

After playing around with the iPhone SDK for a while I wrote an application which supports me during a presentation with intuitively visualized timing information. For details see the Presentation Assistant home page.

Tip: uid 501 does not exist in the passwd file!

I had some trouble doing sudo on a remote (OS X 10.5) machine, logged in via ssh. It turned out that if I do
ssh username@machinename.local
then I cannot do sudo on that machine (getting the error "uid 501 does not exist in the passwd file!"). Also I can no do su (getting the error "su: who are you?"). However, if I log in using
ssh -l username machinename.local
everything works fine. Just in case you stumble across this problem...

Obba: Handling Java Objects in Excel and OpenOffice

obba
A new version of Obba has been released: Obba Version 1.7.29.

Obba provides a bridge from spreadsheets (Excel or OpenOffice) to Java classes via worksheet functions (UDFs), without the need to write a single line of code. With Obba, you can easily build spreadsheet GUIs to Java classes. Obba is available for Excel and OpenOffice and Obba sheets may be migrated from Excel to OpenOffice or vice versa.

For more information see Obba's homepage.

Release Notes

This release fixes two small bugs in connection with the software registration: For OpenOffice the location where the registration is stored changed (you have to reenter registration data).

Black Moleskine notebook missing found

IMG_0769b
My black Moleskine A6 notebook which I had lost on July 13th, 2006 (!) in a hotel in New York reappeared. It came with a letter from a lady from Ireland. Not that the book is very valuable to me (it once was)..., but the unexpected kindness made me very happy.

Serial Mail 4.3 released

Serial Mail
I have release another update to Serial Mail. With Serial Mail 4.3 generated messages are send from the account set up in the template message (before, it was the default account).

Serial Mail 4.2 released

Serial Mail
I have release an update to Serial Mail. Starting with version 4.2 I reactivated the support for formatted text, images and attachments in the template. Still, due to the sloppy implementation of Apple Mail's AppleScript support, formatted templates are processed very slowly and in some cases formatting may be lost (e.g. tables).

Conditional Analytic Monte-Carlo Pricing Scheme for Auto-Callables

We renamed the paper cited in the Journal of Computational Finance 11(3) as "A semi-analytic Monte Carlo pricing scheme for auto-callable products". Its new title is "Conditional Analytic Monte Carlo Pricing Scheme for Auto-Callable Products".

Book: Mathematical Finance: Second Printing

Title_2007_wiley
Wiley released a second printing of my book. The second printing is based on Version 1.6.11 of the PDF file. It thus contains many of the error corrections listed on the errata page. In addition, I rewrote a few sections (25 pages changed), but the difference to the old version is still minor. Major improvements, like new sections will be posted to the book's update page. (The version number is printed on page v).

PS: I will donate a larger part of my 2007 net revenue to charity organizations (like the Fördergemeinschaft Deutsche Kinderherzzentren and Deutsche Krebshilfe (German Cancer Aid)). However: my net revenue is comparably small. From Wiley I get approximately $3 per book. BTW: Sorry for the price tag. I wasn't aware that the author does not have any influence on the pricing of his book.

Captain Future

cf2_400_400
Kürzlich habe ich einen Held meiner Jugend wiederentdeckt: Captain Future (danke TK). Das vermutlich Beste an der Serie ist der Soundtrack von Christian Bruhn.

Wie der Soundtrack den Eindruck der Serie prägt zeigt ein Vergleich der Intros in verschiedenen Landessprachen:


Deutschland: Heute noch gut.
http://www.youtube.com/watch?v=kq-QBPATey0

Frankreich: Klingt in meinen Ohren wie "Captain LaBoom".
http://www.youtube.com/watch?v=9wOoF_HAsqo

USA: Captain Woodstock?
http://www.youtube.com/watch?v=d_57XARGmFQ

Spanien: Klingt nach Captain Ballermann
http://www.youtube.com/watch?v=leQC1lC9z3c

Japan: Hört sich eher nach "Captain Loveboat" an.
http://www.youtube.com/watch?v=qPncFh_sR0Y

Introducing amascore 3

Three and a half year ago I started a very nice project with Oliver Dauben: amascore. Based on a collection of technologies (where some where quite hip at those days), like JSP, XML, Webservices (Amazon ECS), Java and JDBC, we created a search engine upon the Amazon product database where the ranking of the search result is calculated from an analysis of customer reviews. Here, the relative review scoring is such that a product with many 4 star reviews may rank higher that an product with only one or few 5 star reviews.

The project reached an almost final stage with amascore 2.1 in 2005. Later in 2005 we abandoned the project because our priorities shifted.

A few days ago my stuff moved to a new server, and so did amascore. The search engine wasn't running smoothly anymore and I had the choice to shut it down or to make it run. So I reviewed code, removed a lot of bugs, installed the latest JRE and the latest servlet container (tomcat), tweaked the JSP and CSS at bit.

The result is amascore version three point zero.

Sample Chapters

Sample chapters for "Mathematical Finance" are available as a free download from the book's homepage.

Joshi on LMM

Mark Joshi is giving a seminar on "Implementing the LIBOR Market Model". The seminar will take place in London, 24th-25th January 2008. For more information see the flyer. Literature: Mark's books at amzon.co.uk, amzon.com, amazon.de.

Buch (preiswert)

Bei bol.de gibt es "Mathematical Finance: Theory, Modeling, Implementation" für 77,58 69,82 Euro, derzeit deutlich preiswerter als alle anderen Bezugsmöglichkeiten.

Mathematical Finance: Picture Book

MathematicalFinancePictureBookTitle128
The "Mathematical Finance Picture Book" presents some aspects of mathematical finance in pictures. It is a companion to "Mathematical Finance: Theory, Modeling, Implementation" (which contains these figures in grayscale only).

The "Mathematical Finance Picture Book" is available as PDF.

Book: Mathematical Finance: Theory, Modeling, Implementation: Errata

Title_2007_wiley
Version 1.5 of "Mathematical Finance" is published by Wiley on August 24th. I will maintain an errata online at www.christian-fries.de/finmath/book/errata.

Buch: Mathematical Finance: Theory, Modeling, Implementation

Bei lesen.de gibt es "Mathematical Finance: Theory, Modeling, Implementation" für 82,50 Euro, also deutlich preiswerter als bei amazon.de (derzeit 106,90 Euro).

Book: Mathematical Finance: Theory, Modeling, Implementation

Version 1.5 of my book may be pre-ordered at Amazon™:


M

M
Fritz Langs Meisterwerk "M" liegt unter der Creative Commons Lizenz als Download bei archive.org vor (u.a. als MPEG2).

Mathematical Finance Lecture Notes

Title_2007_en
The translation of my lecture notes on "mathematical finance" has been completed. The manuscript still needs some proofreading and polishing. If you would like to do a payed proofreading job on the manuscript please contract me via email (a native english speaker with good knowledge of german and some knowledge of math would be an ideal candidate).

I have released version 1.4 of the manuscript (in both german and english).

For a detailed table of contents see
http://www.christian-fries.de/finmath/book.

Ungarische Würste


In meiner Freizeit arbeite ich auch schon mal als Fuhrunternehmer und liefere ungarische Würste aus:

Fuhrunternehmer Christian Fries muss nach den Recherchen der SOKO der Letzte gewesen sein, der Konrad Amberg lebend gesehen hat. Er hatte ihm ungarische Würste geliefert. Die Aussage von Fries weist Ungereimtheiten auf.
Quelle: ZDF/Magdalena Mate

Der Tote war Vegetarier.

SOKO 5113, Folge "Spurwechsel" (11.12.2006)

Multi Touch

Fundachen zum Multi-Touch-Interface des iPhones (schon etwas älter):

Night of the living death (1968)

night-of-the-living-death
Der Horror-Klassiker "Night of the living death" aus dem Jahre 1968 ist aufgrund des abgelaufenen Urheberrechts "public domain" und bei archive.org verfügbar. Super Film für eine schlaflose Freitag Nacht, mit überraschendem Ende.

Serial Mail 3.10 released

Serial Mail
I have release an update to Serial Mail. This is just a minor update, fixing a bug that prevented the default attribute to work on <ab:custom/> fields. In addition there were some updates to the documentation.

iPod Raffle: And the winner is 0.83119106

indexnanofrontside20060912
In version 1.2 of the manuscript on Mathematical Finance I promised an iPod raffle among all that had send in comments or error reports. The raffle took place last week and the random number generator generated 0.83119106. Mapped by the inverse cumulated distribution function of the distribution of error reports that number mapped to Patrick Jappsen, a Dipl.-Math. from Bonn University. The iPod nano 2GB silver is on its way...

I am grateful to all who had send in comments or error reports. We had some nice discussions.

There will be a new iPod raffle in version 1.3, due September 2007.



iPod raffle 2006 - invoice


Serial Mail: Bug in OS X may trash your Address Book database

Serial Mail
During the last half year I had three reports of users completely losing the contents of their Address Book while working with Serial Mail. The problem is not related to Serial Mail, it is due to a bug in Mac OS X, presumably the SyncService. There are many reports of this problem in the Apple discussion group. From these reports it appears that the problem comes form a sync (like iSync) conflicting with another application trying to access the Address Book.

As a precaution when using Serial Mail, please backup your Address Book database. It is just one click to the File menu of the Address Book application.

Talk on Proxy Simulation Scheme Method

WBS
I gave a talk at the WBS 3rd Fixed Income Conference, Amsterdam, 21-22 September 2006 presenting the proxy simulation scheme method. The talk covered the "full proxy" and the "partial proxy" simulation scheme method. The first part (full proxy) had been presented at the Quantitative Methods in Finance Conference, Sydney, 2005. I have posted an updated version of the slides at www.christian-fries.de/finmath/talks/2006proxyScheme

In addition I gave a 10 min talk at the "interest rate plenary panel". If you are interest in the "foresight bias correction" mentioned there, see
www.christian-fries.de/finmath/foresightbias.

Partial Proxy Simulation Schemes for Robust Monte-Carlo Sensitivities

CMS_TARN_Swap_Gamma_vs_Shift_-_numberOfPath_5000_maxShift_50
We consider a generic framework which allows to calculate robust Monte-Carlo sensitivities seamlessly through simple finite difference approximation. The method proposed is a generalization and improvement of the proxy simulation scheme method (Fries and Kampen, 2005).

As a benchmark we apply the method to the pricing of digital caplets and target redemption notes using LIBOR and CMS indices under a LIBOR Market Model. We calculate stable deltas, gammas and vegas by applying direct finite difference to the proxy simulation scheme pricing.

The framework is generic in the sense that it is model and almost product independent. The only product dependent part is the specification of the proxy constraint. This allows for an elegant implementation, where new products may be included at small additional costs.

For more information see http://www.christian-fries.de/finmath/proxyscheme.

Mathematical Finance Lecture Notes

FinmathBookTitle_en
Version 1.3.x of the lecture notes on "mathematical finance" now contains the missing chapter on Monte-Carlo sensitivities. The calculation of Monte-Carlo sensitivities (a.k.a. Greeks) was discussed in the last two sessions of the 2005/2006 lecture. Apart from two new chapters this version contains over 100 corrections.

For a detailed table of contents see
http://www.christian-fries.de/finmath/book.

Vorlesungsskript Finanzmathematik

FinmathBookTitle
Version 1.3.x des Vorlesungsskriptes Finanzmathematik enthält nun ein Kapitel zu Monte-Carlo Sensitivitäten. Die Berechnung von Sensitivitäten (Greeks) in einer Monte-Carlo Simulation war Thema der letzten beiden Vorlesungsstunden in 2005/2006, aber zu diesem Zeitpunkt noch nicht im Skript enthalten. Ferner wurden in dieser Version ca. 100 Fehler korrigiert.

Das vollständige Inhaltsverzeichnis findet sich unter http://www.christian-fries.de/finmath/book.

Parkinsons Gesetzt

Meine Liebling des Monats August: Das Parkinsonsche Gesetzt besagt, dass sich die Arbeit die zur Erledigung einer Aufgabe geleistet wird mit der dazu zur Vefügung stehende Zeit ausdehnt. Das Standardbeipiel ist eine Rentnerin, die mehre Stunden damit verbringt eine Geburtstagskarte auszusuchen und denn Geburtstagsgruß zu verfassen, während ein vielbeschäftigter Manager selbiges in drei Minuten erledigt.

Da musste ich doch an zwei Dinge denken: Die Frage "Musst Du denn alles auf den letzten Drücker machen?", die ich schon des öfteren gehört habe, und meine Freunde Heinrich und insbesondere Bernd, die zu Konferenzen fliegen und ihren Vortrag im Flugzeug vorbereiten. Beides sind einfach Zeichen effizienten arbeitens...

Cross-Currency Markov Functional Model with FX Smile

We have a paper on the cross-currency Markov functional model where the FX functional allow a calibration to a given market implied volatility smile. Calibration works for twenty years and beyond. More details may be found in the Diploma thesis of Fabian Eckstädt.

One Day Lecture at s:f:i

logo_sfi
I will give a one day lecture as part of the Certificate FAME Program 2006 at the swiss finance institute.

The lecture will take place August 2
nd at University of Lausanne. See the program of this event for details. As precourse reading you should consider Chapter 8, 9 and 10 (interest rate basics), Chapter 12 (exotic derivatives) and Chapter 15 (libor market model) of my lecture notes. These chapters are available in english and german.

Black Moleskine notebook missing

IMG_0769b
I am missing my black Moleskine A6 size notebook. Beside some notes there was my ID in it (in the pocket on the last page). Since getting a replacement ID will cost me time and money I - of course - offer the reward stated in the book (see first page of book). Most likely, I left the book on July 13th in the Marriiot Financial Center NYC conference room on the 3rd floor or the Starbucks around the corner.

Foresight Bias

CondExpEstimationPredictorRealizationDiagram_en
I participated in the ECMI 2006 Mini-Symposium "Optimal stopping and optimal control problems in finance", Madrid, and the Risk Quant Congress USA 2006, New York. The updated presentation of my talk "Monte-Carlo Pricing of Bermudan Options: Removal of Super-Optimal and Sub-Optimal Exercise" may be download as a PDF file.

TV

Der OnlineTVRecorder ist ein Dienst der das Fernsehprogramm nach den wünschen des Benutzers aufzeichnet. Die Aufzeichnungen können dann später als DIVX oder WMV Datei geladen werden. Da aus Urheberechtsgründen nur der, der die Aufnahme programmiert diese Downloaden darf, die Dateien aber frei im Netz gespiegelt werden, sind die Dateien verschlüsselt und man benötigt eine otrdecoder. Danach sind die Dateien aber frei von DRM. Nett ist die rechtliche Begründung des Dienstes: Der Dienst vermietet die Aufzeichnungshardware an den Benutzer, dieser fertigt damit eine Privatkopie an.

Mathematical Finance Lecture Notes

FinmathBookTitle_en
A first draft of the english version of "Mathematical Finance" is available on my home page. Chapters which are not yet translated will be given in German. I will add more translations depending on my spare time.

The book arose from my lecture notes for the lectures on mathematical finance held at University of Mainz and University of Frankfurt. It tries to give a balanced representation of the theoretic foundations, state of the art models, which are actually used in practice and their implementation.

For more information see
http://www.christian-fries.de/finmath/book.

Equity Markov Functional Model

MarkovFunctionalLIBORCalibration
I wrote a small note on how to do Markov Functional Modeling for a single asset (like equity). The "trick" only works if you use the asset itself as Numéraire. However, on the other hand, this is exactly what you do in Markov Functional Modeling of interest rates, where the Numéraire is an interest rate product. The approach in this note is very similar to the Markov Functional Model in spot LIBOR measure (the original Makov Functional Model was specified in terminal measure).
Version 0.4 of the paper is still lacking an introduction.

(Edit 14.04.06): In Version 0.8 I have added a nice discussion on model dynamics, using Black-Scholes like functionals as a starting point for my examples. The discussion shows how to calibrate the joint asset-interest rate dynamics (ie. r(S)) and forward volatility (all this in addition to the calibration to a full two dimensional smile surface.

Smile Modeling in the LIBOR Market Model

I have put online the Diploma thesis of Markus Meister "Smile Modeling in the LIBOR Market Model". See http://www.christian-fries.de/finmath.

Function Pointers and Delegates in C++

Don Clugston has a nice article on Member Function Pointers and C++ Delegates.

How to use other Microtek Scanners with ScanMaker 7 Pro

SWPro_app
A few days ago I discovered Microtek ScanMaker ScanWizard 7.51 on Versiontracker.com. The file appears as an update of ScanMaker ScanWizard 5 V7.21. The app installs itself as ScanWizard Pro 7 (note that ScanWizard 5 (Version 7.21) and ScanWizard 7 Pro (Version 7.51) are different applications). The description claims that ScanWizard is compatible with Microtek ScanMaker 3800. However, it does not work, because the driver seems to be missing.

But the software works with other scanners (at least with my Microtek ScanMaker 3800). If you have a working installation of ScanWizard 5 V7 (I used version 7.21) then you may try to copy the driver from /Library/Application Support/Scan Wizard 5 V7/Scanner_Drivers to /Library/Application Support/Scan Wizard Pro 7/Scanner_Drivers.