In the financial world, two tasks are of prime importance: model calibration and portfolio hedging. For both tasks, efficient option pricing is necessary, particularly for the calibration where many options with different strike prices and different maturities need to be priced at the same time. Therefore, a fast yet accurate pricing method is a necessity for banks and trading companies. Nowadays three groups of pricing methods are being used in the financial industry and academia, that is, Monte--Carlo methods, partial (integro-)differential equation (PIDE) methods, and numerical integration methods, where the option price is modeled as the discounted expected value of the payoff at maturity. The latter type of methods is attractive from both practice and research point of view, as the fast computational speed, especially for plain vanilla options, makes it useful for calibration at financial institutions. Usually numerical integration techniques are combined with the Fast Fourier transform or Hilbert transform, and therefore, the numerical integration methods are often referred to as the `transform methods'. Representatives of transform methods are the Carr--Madan method (Carr, Madan, 1999), the CONV method (Lord et.al. 2008) and the Hilbert transform method (Feng, Linetsky, 2008). A recent contribution to the transform method category is the COS method proposed in Fang, Oosterlee (2008, 2009), that is, an option pricing method based on the Fourier cosine expansions. It departs from a truncated risk--neutral formula, in which the conditional density function is recovered in terms of its characteristic function, by Fourier cosine expansions. This method can be used for asset processes as long as the characteristic function of the conditional density function is known, or can be approximated. For processes where the density function and its derivatives are continuous functions with respect to the underlying asset, the COS method exhibits an exponential convergence rate. Our research work is based on the COS method, which has been used for vanilla European option pricing (Fang Oosterlee, 2008), vanilla early--exercise option pricing and barrier option pricing (Fang, Oosterlee, 2009). The motivation of this thesis is to further improve the robustness of the COS method, make it efficient for non--Levy models, and extend it to different types of exotic options. The point of departure of this thesis is to improve the robustness of the COS method for call option pricing with early-exercise features, as presented in Chapter 1, where the call option prices are obtained from put option prices, in combination with the put--call parity and put--call duality relations, which are incorporated into our pricing algorithm at each early--exercise date to recover the Fourier coefficients and to compute the continuation value. The robustness of the pricing methods is demonstrated by error analysis, as well as by a series of numerical examples. In Chapter 2, the acceleration of option pricing by the COS method on the Graphics Processing Unit (GPU) is presented. After a brief discussion of the GPU and its potential for option pricing, we will study different ways of GPU implementation, followed by three examples of GPU acceleration, the so-called multiple strike option pricing, option pricing under hybrid models where the characteristic function is derived from a Riccati ODE system, and the example of Bermudan option pricing. Influence of data transfer between host and device is also discussed in this chapter. Extension of COS method to early--exercise option pricing with an Ornstein--Uhlenbeck (OU) process is explained in Chapter 3. OU processes for commodity derivatives, either with or without seasonality functions, are non--Levy processes and more computationally expensive within the COS framework, as compared to Levy processes. First of all, an accurate pricing algorithm is given, which can be used for all OU processes with different types of seasonality functions. Then, based on a detailed error analysis, a more efficient pricing method is proposed, which reduces the computing time from seconds to milliseconds. However, this new method is not advocated for all parameter settings. The conditions under which the basis point accuracy can be ensured is derived by error analysis. In the numerical part, the accuracy and efficiency of these two pricing methods are compared, and the conditions we derived from error analysis are further verified by several numerical experiments. In Chapter 4, we present an efficient pricing method for American--style swing options, based on Fourier cosine expansions. Here we assume that the holder of the swing option has the right, but not the obligation, to buy or sell a certain amount of commodity, such as gas and electricity, at any time before the expiry of the option, and more than once. Moreover, a recovery time is added between two consecutive exercises in which exercise is not allowed. Our pricing method is based on the Bellman principle, leading to a backward recursion procedure in which the optimal exercise regions are determined at each time step, after which the Fourier coefficients can be recovered recursively. Our method performs well for different underlying processes, different swing contracts and different types of recovery time. The pricing methods for European and early--exercise Asian options (ASCOS) are shown respectively in Chapters 5 and 6. In Chapter 5, we present an efficient option pricing method for Asian options written on different types of averaged asset prices, but without early--exercise features. In our method, the characteristic function of the average asset is recursively recovered, with the help of Fourier expansions and Clenshaw--Curtis quadrature. Then it is used in the risk--neutral formula to get the Asian option price. Exponential convergence rate is observed for most Levy processes, which is also supported by a detailed error analysis. Advantages of our pricing algorithm are that as the number of monitoring dates increases, the method stays robust and the computing time does not increase significantly, as shown in the numerical results. Our pricing method for early--exercise Asian options is presented in Chapter 6. In this case, the Fourier cosine coefficients of the option price are recursively recovered by Fourier transform and Clenshaw--Curtis quadrature. Then these coefficients are inserted into the risk--neutral formula, which, in the early--exercise Asian case, is a two--dimensional integration, to get the option value. The chain rule from probability theory is also needed in our algorithm to factorize the joint conditional density functions. An exponential convergence rate in the option price, as derived in a detailed error analysis, is observed from various numerical experiments. Factors of approximately hundred of speedup are achieved on the GPU. Conclusions and insight into future research are to be found in Chapter 7. In this thesis, efficient pricing methods for different early--exercise and exotic options, based on the Fourier cosine expansions, are presented, followed by an error analysis and numerical results, from which we see that the COS method is an efficient, robust and flexible method for pricing different types of option products, for different asset models, and is suitable for GPU acceleration. It is a promising tool for financial calibration and dynamic hedging in practice.