|
|
改了一下,这次运算应该没啥问题了
0 T8 `! k5 h! ]$ C
' @' M: f& Q/ g4 D* X, }, n9 F7 g3 u' t1 u A, O% e
capture program drop hello: c0 o& j4 M ^) ^; L U
4 `* N* w( I9 z# q9 f/ M! oprogram hello
! ?# ]1 n' K# s% p% x/ y& X2 t! M
+ \; L, N7 p+ I) g1 N' p+ E quietly {* @" F: u! k& i9 q! ]( P
) I2 h7 e' `0 y+ `+ N$ |
clear! _7 ^# ? S9 P
8 F3 a3 z1 t1 s0 B+ O
cd e:\finance\stock\20110101\source
. G d: N. a6 ]8 g+ w) D# I2 d$ ~, m2 {+ E$ S& z) s7 y4 |2 \
insheet using `1'.txt
: W1 Q# A6 S- G7 F, w1 T- H: Z5 h) g- s8 e; c3 `; g# @
keep if v5>0
8 _) H$ l! k$ d9 \" J
/ k% Y: v8 z& J; N% G, c4 x1 v w gen vt=_n; m& _: Z7 S' L2 J
! J0 Y# T7 D1 i& e, O8 e tsset vt2 M+ v& ]( `2 ?. Q5 M1 k
4 g9 P2 `& c) S4 M5 V+ Q5 c% \
gen zf=D1.v5
5 k) {8 k8 a6 O- o
+ K4 |! s8 h6 }7 ^# s" } gsort -v1
4 X) k L6 j7 I- f1 U! G3 A
6 R! G \, D, g8 \' I8 `5 h/ l gen avol=v7/v5
* l6 ]" k0 m6 s) D
" H- O6 F; Z+ P keep if avol>0
, g( w2 W6 S' y3 F. G $ Y0 d% @( c0 F
drop vt
, A6 P+ Q; Y+ v$ x) Q/ j1 ^ u0 ]% q/ d5 L
& N9 m S) u! @2 `" C4 h! n6 W gen vt=_n
& }, y; o! Y+ x2 _ * Y8 a$ d! ^5 x; e0 \
tsset vt) k X" q3 V) v5 R
; A: z3 z) j! h% {4 Q- k+ d sum v5 [aw =avol]* z# E0 _/ E! G
( }7 Q1 |5 O' W$ U9 Z4 m
gen amean=r(mean) in 1# h# w" v+ S) U0 L6 N5 F) O
" k5 @6 r1 z% G
* 总加权平均值 amean( f' e4 [' \6 B: t3 |; {2 O) b
: @) Z# e& |3 [- C6 W& x; Q9 } ! v! B4 B# C* s
keep in 1/240
; G/ I! V/ g7 _1 M r1 s
z' A$ k6 E6 K3 H$ y; V sum v5 [aw =avol]: e9 G- W# T3 i+ b6 H
7 y5 ]$ q- m" z: z; p8 F' B- X
gen mean240=r(mean) in 1
% H8 Y9 X1 V: M7 {9 R( X
( U3 U+ t4 S6 R+ _& I/ ?( B. p *240加权平均值 mean2402 r" m$ i0 j; F. h5 Q7 \ f
# Y3 m5 z, W8 Y0 @; |* ]
set obs 500 3 ]7 H) {% g; W
% s- [& b! f( [7 }& a' j kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
( j; l1 D/ c9 @9 F8 h* B% ?; l ' ^& R8 m3 j: Q, V0 `2 [
*240 kdensity(dx240 dy240)
6 W; u& [- J: H 3 |! [/ p6 C4 M' h
sum dy240
* G# k) }6 U( t9 U$ ]# [. [
2 B# ~* H4 M" l$ Y7 a- a9 S& H gen yxis=r(max) in 1
) ? N. p: G/ U/ T. E% `3 y6 C
X$ }9 c, }8 ~9 o# [. T* K$ T gen yxis2=yxis/2
3 K$ `8 h% u7 n3 b- ^; R
! D$ Y! T0 M% k- @( l; U' q8 Y *yxis B9 v$ P4 C7 g) O. D& \' ]/ d
+ @4 U& L* S7 h
gen dy240max=r(max)7 g' V# Z4 l# u* o/ a
/ [4 u- G: p9 K% |' }4 {' D2 J' _
gen dy240minp=r(min)
/ E. G. J# y4 c) u S
+ ?5 y7 \# E* m; E8 G2 V4 O1 }# W* } gen vtt=_n. T8 y' [+ Y$ s( ^% M" K
$ t; n6 v( ~; O. v1 x( g$ A5 R
tsset vtt$ ~3 d& Y! C0 O1 g
6 {9 t v; N$ {& u& [
gen ddy240=D1.dy240/D1.dx240
/ t; j/ A! @# s s: Z. @) d( c) y6 y5 ?
* P( a& v8 u2 |+ N$ r sum ddy240
7 ?, s& r4 z/ c5 t: U2 y
0 A2 O' ~- o5 M, v3 I$ q0 [; J% g gen ddy240max=r(max), }" ~' I+ r, S
5 }+ y. }3 [7 v# w Z8 e
gen ddy240min=r(min)7 v& e6 V: u5 J$ ?
- S" J1 R; @9 q$ s
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)* s) Q3 V4 r* \ [
8 [8 c' l5 _- f& V) d- F
sum ddy240g
8 L3 s! {+ L/ L# d4 s' Q* }+ x
% W9 \4 }9 \& O8 L gen yxis3=r(min) in 15 R. u7 s/ i& D# v6 Q" p# ]
7 T$ e8 e# B+ c1 o
gen yxis4=0 in 19 V) l( F1 j7 }
5 L# c# D7 I! l: @
*ddy240g / m, L5 a- L6 c7 n% e, G
1 M! ]* f; m. T% { ; t. \' ^% D" b: E& R; ~7 I6 A# T
preserve 8 k% `% L( q3 q7 q! S
+ I7 J! {, J! Q5 {6 J sum v5 [aw =avol]+ B! U! j; B9 T m/ i* l+ T, F [# u
- A1 X- i0 ]2 C- _: M0 o6 G keep if dx240<r(mean). ]/ A: r9 D' ]( h: X9 a8 s, [
! n0 c2 `8 K/ a) G. ]7 g$ \ sum ddy240
$ f& i& r5 I5 ]* y* x : `, A* [+ e( k5 W5 d5 z
if r(min)<0 {& a! z" m+ e# `8 l1 B, g- @8 g
# B3 S9 k8 F) l keep if ddy240<=0# N1 P4 p/ D0 {! y+ m4 c- ^
/ U5 T9 K: P/ `& ^( t count
1 r" H' [& e( p* G0 ]. z
3 J/ @$ ]1 ~' Q V) d if r(N)>2 { W) b. ~: \5 V2 L$ \
6 z7 x! I& D$ X! Q. a) N pkexamine dx240 dy240% V G$ d+ v b( y' a& b. h7 G
( U9 ~1 K$ E1 I/ h$ c7 ?7 x q
local tempminp=r(tomc)
- u9 ?3 z) p0 Z: v, |7 |" T. ]! s* R restore / u5 i( p+ W% B- k( h
} O2 C2 I9 J1 `8 o) b
0 r; f( y" F, Y9 H \. [
else {. W1 t! W) O0 f G
' m5 i" b' N$ a* `0 g* E+ _( \ di "cannot find minp"9 f9 Y0 R( O$ n/ r) a; D3 k8 U
( h8 m$ P& e5 n* A2 K
restore ! V6 K3 I/ _8 ]$ a" _/ Y1 y
sum dx240; c& g& z/ e1 |; s- W8 E/ n( W7 u- ]
local tempminp=r(mean)
6 X g, \$ v" n/ h0 w) _ # Y; A$ J7 I' D5 y4 L
}
2 s0 E: Y7 @) {# x/ y3 i0 S }
2 j( [. h4 N$ e else {& V' O% }: w. f
& U |; H1 P0 V9 c* O* J keep if ddy240<=r(min)" _2 }7 J: a' q6 h& l
8 d/ N% F9 f# Y8 _- \ {
sum dx2404 T% j* f! p! X( l7 K
9 N- R) _9 [* n& T% j, |# J4 x+ M3 U6 a local tempminp=r(min)
! I& H: I5 f" ?# d2 q& @5 x4 ? restore
2 w' a- D% V3 H. x8 b }8 q1 ]4 x1 q3 b7 n
- n* a: P: _9 v- q# C( K6 u; _! O0 G! _! I- J" ]* q& g4 g, E6 \' k
$ i! F! P, v8 w9 H! M. D gen minp=`tempminp' in 1
3 D8 j- z: t, P% x1 J4 G, E9 L *240 minp
- X3 O4 I2 X1 o# R9 Y1 t& @* a2 q' q, q; _( C0 ?
R( U4 Y5 k, U* ?+ V
/ [+ f) S# z2 u) R0 s6 h+ |: H preserve
* e5 t6 L0 E2 E* B9 Q3 y % V) N& c9 t: J/ b" z" o
sum v5 [aw =avol]: d7 a6 [% n; T! n4 [
7 _0 b* y# y- [$ Z
keep if dx240>r(mean)
+ O7 q# I8 Z. F+ X+ X- }, Y
`! x+ Q% m1 H' ]5 K$ B sum ddy240
9 G8 N6 v2 i. @$ u% W/ \ , A: {, \1 p! G) c; w
if r(max)>0 {' Y* m0 P# K3 \% z* C( n3 e
6 `3 o7 l3 `* t4 t keep if ddy240>=0
5 a2 n! Q6 W3 ^8 \9 l
/ u8 W9 W8 B" T: Y' y count k% @& N: B1 I& [/ z
$ o) Q6 B! y9 c2 k if r(N)>2 {
l) }- U/ r" p$ X: Q1 i
3 _, g& w! A- a2 w pkexamine dx240 dy2408 e$ Y) X0 U! [( T( n4 d$ n3 [
" h! Q$ d5 S7 D$ ~# H! |
local tempmaxp=r(tomc)
- s: a4 s- s# B! S# o, A restore
' X- Z1 X& ^) ?9 D6 t8 x! m }( y" m% {/ A- _* P- R
" a: a+ f# z% Y% Q: M; w$ m
: v8 ?( z* t0 Y% H3 X6 F: G else {
- d- l# J( @4 T7 @5 r- J restore
9 j$ U9 E, b8 N2 }" E di "cannot find maxp"
* H1 e4 Q' T7 n; [0 O- B' I
: u: q, Y5 Y8 A1 S1 e8 X 0 P0 _$ {: ^5 N$ N# `: Q
sum dx240
& A7 t- x+ n/ u- C; v: R& y- q local tempmaxp=r(mean); \# c8 m- H4 }% u0 Q6 O
+ t% S! C& ^2 O8 ^+ W }/ F7 F. e L+ ?& J( ~
, N# ?+ ]/ b+ M7 S5 u }, _( ~. m# N# B
& O) q! T! b2 R \; s else {
% _0 s- {) p, e' i& K- T . ]3 }6 T: k$ o5 [: c4 b% o& b
keep if ddy240>=r(max)" f; i# T8 ~4 C/ C
, l( s- W- Z$ I4 q sum dx2400 L$ y s, X' ` U7 K/ N' t
+ L1 j+ I B' u4 _) E. m# n local tempmaxp=r(max) * [, G+ u! L& y; [' a8 B2 I, Y
restore 5 P$ k2 f/ T' J$ w& Z+ L; ^
}
1 w& _: I5 ~/ \8 n
' O. ?$ W/ R+ S
\' _( K* {- l' e* S ' Q; j' S) V$ P
1 H+ }" v% k; Z, G gen maxp=`tempmaxp' in 1
" j1 m1 ?' M8 O2 f& y1 f. U : e% `! R9 ]. B& B9 I" }
*240maxp! t" E/ [% `7 {- Q3 C! C
4 a4 z& f& ]# m% b+ G + s, D4 v8 F4 B p1 T/ G1 ^+ L
*-------------ddy240pminp左侧高峰值-----
8 |6 i, G4 Z# {) k- y $ W* g7 K6 p0 }; Y/ @9 a
preserve 2 T! o( C7 N ?% {# s2 e3 M5 e, G
: o0 e/ E! A& `* x9 R J
keep if dx240<`tempminp'8 H, S' H! C, s8 j/ r+ D
/ _! p! \4 H& h! M: Z keep if ddy240>0
0 K! Y6 U a8 a( p2 W $ A+ J# g G. `3 q* D
count* [2 H' w; M& H3 g' j
& V c. @& J2 L1 y& w* d if r(N)>2 {) T& v3 a' ^2 E. C. j
: Q' M" Z0 x7 U3 D" {9 o" ?
pkexamine dx240 ddy240
: C3 M3 }2 B# D
5 k; o: [/ G! W% k) ?- H0 x local tempminphddy240=r(tomc) ' n3 g& f9 G! e o2 M/ E
restore
1 ~4 k# t! e# h r& j) @3 Q2 z }1 I& W0 A; `$ i2 j# O& n0 u
" \' a6 G' y R7 `- U. |1 t
else {
- N8 v4 [+ J) X! x( { restore : I3 Z% {# K9 X& |9 `( G( d. p
di "cannot find pminphddy240"$ k4 H/ V! p. A' a* ^
6 I. [; R G5 [1 |
4 F8 k1 {% w4 z2 B& T, W sum dx2402 l- i( J" U4 D4 p! k- a5 m3 h- t* p+ s
local tempminphddy240=r(mean)
: K; Z2 c% u4 }2 e% o. g' o9 D3 V
& `8 E( U4 o E/ \+ s7 A / b5 A3 s4 ~/ @) V- t+ U9 _( S v
}
3 S) X/ R( k. m/ z7 | 8 Z% l" i( F: X( G- q
5 S* p* n" s) X# R# d7 E! }
. @: C& D" p7 v) D9 [ ! e% f6 m; G* K, I8 ~
, G% |$ I# U: v + |/ t; P# G) N' S8 A4 [
gen pminphddy240=`tempminphddy240' in 1" r Z( o0 C. K \: a Q+ a1 u0 R
, Y. X, J+ a7 r' C' `+ _
7 @9 U5 ?- X1 a7 S% }9 X4 g& T# ? *-------------ddy240pminp右侧低峰值 -----------------* z$ ?% m* N% z# V: y, I
preserve 5 ~8 ^& h& F4 X* U" w" Q- {
% H7 L# s' i8 _9 b) C3 d% v keep if dx240>`tempminp' e* W1 N+ T0 [8 l' Z
& O( X; B! F# n* i, G- Q. z keep if dx240<`tempmaxp'
L4 J1 o, M- X0 D1 J" l * Y$ S' Q( X$ t4 @3 I* X6 n! J
keep if ddy240<0
0 `: e2 x6 ~7 Q M& L7 V
. |6 S/ `1 z4 Y gen temddy240=-ddy240
! ~& ]+ m) @0 D8 e% M- | , H' \; o6 W# x+ {4 v- k& l
count- t7 Z1 l8 @9 T; y7 I. s
4 N5 Q& [4 I) s/ J if r(N)>2 {
* M; s. N( F# {, u. n [. J0 |# Y9 ~" H! S
pkexamine dx240 temddy2409 {* p6 x& u" d
; R6 S! u9 h t2 y% O$ k* v% t local tempminplddy240=r(tomc)
) N% g1 A6 n$ x restore c9 T' ?# V, }, Q* u/ }
}
7 m7 n) T* J; b1 I' j" r
) x( o2 }6 |$ m- G) q+ x else {1 g6 G; f K6 f+ f" r& x. r
' H# N' H7 M. Z+ M% q5 C8 P+ s. ~ di "cannot find pminplddy240" Y+ w+ a8 z! j4 s1 x
restore# c# f3 }% G0 b7 ]% o0 D+ v* @" n
& B! \2 c) _7 s( ^; P5 y sum dx2401 l) s3 i; G4 l |
local tempminplddy240=r(mean)
9 K/ ?( d) z( y* \% y. X. R % J* E- T% C7 F" ~
; c5 U+ a4 ~5 Y2 f }
3 T2 b4 Y3 j: z' w0 f# Z
( r' ^+ j8 u. _, C# r9 i. A0 M
5 J. `) c+ G7 Q; u
% G" T) E# C- `7 S B 1 y2 z1 I7 p S n; l" C
5 F* T6 ]& R' q# G
gen pminplddy240=`tempminplddy240' in 1
9 J# M/ J. ^2 o, p! f& S $ x7 U" N. D6 N4 i0 ]% C! V
*-------------ddy240pmaxp左侧高峰值 -------------------
2 [8 [/ ], K0 T1 t) D6 @
3 e) v/ e) m% x' p- j$ u4 f preserve ( Z) D) ]: v4 V' O1 T
& _+ E/ g( G5 H I; [
keep if dx240>`tempminp'
$ I, y8 `* M V6 E# V& I' y) q/ T
1 E( I. M: O4 d) [$ ?/ H+ r# ^7 I keep if dx240<`tempmaxp'
9 |* g( e& o, R1 \) i1 k# h- K 7 v0 a' P ~! R1 U, u- h8 }
keep if ddy240>01 P: ]8 z3 u4 l5 m
count% [ f' Z' ^: F
- I2 Y0 A% ]# {
if r(N)>2 {
5 O+ s1 |6 s1 b C1 ~7 e * }7 z& B5 k, {( h
pkexamine dx240 ddy240
# y/ s' ^7 _) q% W8 T5 c 7 t5 H, T& }3 N& R F
local tempmaxphddy240=r(tomc) ' q6 n$ x2 I0 E: ~7 [" ?
( ?- r, k; P' R! h- M! s
restore
) v/ a: B3 w' x" b }& @- ^5 X* Y5 w5 I. |+ U) _2 d
1 F& _& T4 j2 \ Y. U8 C
else {& c6 _& E3 f {! ?- G
" z2 v+ v, E" k2 W& n1 `: {
di "cannot find pmaxphddy240"
" x$ i* i2 E6 m* Q; N+ ?/ }8 i restore7 t' I' W: O- ?& \# @
( M$ j0 g) w, o. ~ sum dx240
2 h# Y3 U# l3 C0 Q& S local tempmaxphddy240=r(mean) * M1 }& y9 V5 B$ x! z- C* n
0 K, i8 | L: t8 `
" T1 [1 r5 R/ g1 I \, K( @, N( u }
: \2 i) @0 |* j K" u $ L: t8 v2 R. B2 ?" t
. q% N# T1 x. J# m8 F1 N/ R 4 h$ i7 g, T5 y" N
0 g, n3 k, q% v( F6 l+ B + T1 A' q2 N/ o3 q6 c0 D
$ m3 c4 g( F) h1 U3 c gen pmaxphddy240=`tempmaxphddy240' in 1* r K* \: n1 J/ `
: u' l2 _' R3 g( | + ?& V; g) j+ d7 g7 Q8 C( n8 u
*-------------ddy240pmaxp右侧低峰值 -------------------
# g1 G5 v& {9 e
6 T. k8 C2 |1 c3 u$ _; m preserve
# i" }1 K. ~0 H0 q5 d6 j
1 f" K. C7 t4 `# e$ c: C$ y2 }; @ keep if dx240>`tempmaxp'
$ j% @) r. E" o& V & H* ~% f0 Y9 v4 l% I
gen temddy240=-ddy240
8 ~9 K; }! a5 j, V) [) }: d
3 u" T7 n: W5 g: K keep if temddy240>0. `7 M4 U8 n, `; h x, z' P
9 n4 U( D+ Y7 `7 S( Q- W count: [% c# T; O; H
7 r( }0 ~+ F- Z if r(N)>2 {
! _1 Y$ w' c/ N7 C
! o& l; D: k( }. g2 I& N5 G2 K pkexamine dx240 temddy240 l" [4 U& c4 O' ?
0 }; z1 H7 ?: y# N' @
local tempmaxplddy240=r(tomc)
7 {1 b5 l( |/ s/ p- z2 m7 N' E restore
$ C* x) Z P9 O" x3 X. x7 L! ~; \ }
# o5 d% a% X1 B+ s6 i) \1 Y 2 y) h+ r% ? l
else {9 h! q2 E9 X$ p
restore
9 `- @$ d' q# [$ Q di "cannot find pmaxlhddy240"
# m! m1 E. L# R& G' \( Y - \* F: X; T7 U$ d1 V
, J! B: P% ]3 f$ U# Z$ Z) @
sum dx2400 N m+ \2 g) E
local tempmaxplddy240=r(mean) in 1
+ {, N' d+ g! Y! D5 @1 o$ _# m) G 5 N u/ p# e& x8 F9 _
$ d4 w6 B' A ~- ~+ a" ^, L3 D- e
}$ S% U8 S& x! n+ @" U# n
. m; U+ f# S9 d+ ~2 J
4 \; X9 C$ Q! y8 x L3 D' K3 o
1 ~1 M; j. A' i 3 t' x7 I6 ]- B4 u: I. L4 k
! f4 t0 B- m+ ~; @
1 u0 g' \8 s# G8 w& i. s, G3 | gen pmaxplddy240=`tempmaxphddy240' in 1: L, \7 q* o- ^+ w+ z" `: e5 B3 V a" T
+ P6 R' z& A' z# K *-------------------------------------0 q8 R) J4 \- M; k) [2 F3 z+ i
) R* l! _9 R2 Z/ s+ f# u gen price5d=v5 in 1/20. f8 c N& g+ _8 P/ q6 G" D
8 k; ~* @) b9 F$ j/ l& i- Y" C
gen price5yy=_n in 1/203 P2 w( }5 | b4 `9 p$ J! W
' g( A9 Z% [! |# Z) e* O& o9 g3 b gen price5y=price5yy*(dy240max-dy240min)/200 k. {! M8 l7 P# E Y
2 L4 ]4 q' p7 ?$ v3 h! Q *price5y &price5d" q- Y" e4 c- C; J, [3 U) x0 U
7 U+ L0 P1 B/ t# `5 A gen priceny=price5y in 1/ G5 }+ t6 u' d7 y* w
2 e1 l7 Y. n3 b8 K
gen pricen=v5 in 1& n: {. w! Q4 k) k
& o$ Z5 O! i, H+ | Q; J9 F1 l9 c4 n3 o
*priceny &pricen
& Q9 w* {1 L( |: l5 ?) @; |1 w9 N, w6 ?
! b5 L9 v# D6 }2 R , d1 |0 n3 n1 L& Q n
*-------------------------graph------------------
, J' B, ?( G. n( M/ _
/ b: a. W' w2 F+ c% e9 O: E tw(line dy240 ddy240g dx240)(spike yxis amean,lc(blue))(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off)6 I! |3 F4 q. |
' x' q6 r% C+ f' v* ---------可选项目----------------------8 {" o& [6 |( Z* E# W3 Z- J
2 D k! Q! Q/ _2 a- }) b+ h}
# t" T; R1 j% }; s8 |end" o5 P' J4 |9 ~% h: A' h
|
|