|
改了一下,这次运算应该没啥问题了+ h8 ^+ m3 S3 I; ?, n
3 }: V! i+ A" m, N/ Z0 S4 p+ j
& Y+ N* D; V9 s# B7 Zcapture program drop hello
% `+ i: _, c$ I0 n& N d6 t4 K9 [! W7 j t
program hello r/ Z! }' ]+ y4 N6 b
/ P- u) F% Z+ t) U3 w
quietly {+ F: x* ?4 Q# ?! Y# ~, b
, I4 t: g7 `0 ~. G2 [ z
clear
! r, D: K% E O* ]* I$ ^
2 m5 z O" h5 q7 m" `+ Ccd e:\finance\stock\20110101\source
\+ \! B1 v+ q' i$ a. k
5 k! P8 e0 i0 ?3 A5 n+ v7 ainsheet using `1'.txt& X' p1 N+ ^- {- E% T$ w+ _: j
7 d5 I, `6 {- F) x" I
keep if v5>0
; x' u' b$ c7 }6 c" c* {( b* b ) W) z* m# W. U
gen vt=_n$ V. I' L, W6 E# q* M
* `; ?4 X/ Y' p( j5 C( z2 u
tsset vt7 @1 m( }7 b9 U) T% ]$ A# O; i
/ F! O( z) \$ C: D: }1 Y- f& F gen zf=D1.v54 L$ J" ]; [7 e
6 P. G) ^' g" {6 T+ }9 c gsort -v1- f$ h+ r& g! q9 n. W6 Q
9 b! |" L2 P4 R6 q8 n1 t2 J Q gen avol=v7/v5
: V8 _; b0 t H% p( N# O; R
" \ _" {4 m0 R3 w keep if avol>0
! F& B' a5 J' C8 u8 G
7 r$ E) d, {# G& R% a drop vt, @* i, U" Z3 l: t. |2 j
8 @7 q9 u- F* X! J gen vt=_n( F; ]: f1 G3 K
: p4 O" g. Q8 B9 L tsset vt f# O; F) F% ]7 \5 v1 ?/ A
! y/ p3 ~# |. T, p. q' p! q5 b Q
sum v5 [aw =avol]
' I. ^, n3 @5 v( ~2 X& r4 N; v
. Y2 m1 G2 C8 y& r+ i3 ^; ` gen amean=r(mean) in 10 ~9 W% N7 o; d5 h4 ~, @% Q: x, d3 |
0 ^8 {) q8 a0 r7 r+ S * 总加权平均值 amean* H, l7 a6 H! {/ f5 V) {+ I
3 l4 c. t9 u& E( ]! z9 Y( m
1 A- j& B! q1 W- p- P0 _9 x1 G0 G
keep in 1/2404 M- a: ^/ X8 q3 N# @; L9 r
6 e5 |2 a$ I3 g. m sum v5 [aw =avol]
d' F! ^* O. V' Z$ w+ L
5 G2 @+ E; N& G* k4 s4 |9 F& z: ~ gen mean240=r(mean) in 19 k4 F. d5 F5 W+ v
; j" L# _% u7 E# V9 P# g *240加权平均值 mean240
, I" y# S4 A3 Q2 G2 l
6 @ Y; k6 ]: F) s- K set obs 500
1 `0 x; h6 q7 \- h$ y ( `. \! z- L, s9 z/ {, q/ j
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
1 N1 ?! U' @# \( N6 [
9 o9 W0 q7 I' S$ c( T; U *240 kdensity(dx240 dy240)2 f- {* J# X- b. [4 b2 j2 G7 P3 C
2 j9 t) c+ t' M+ [/ e$ l# a6 [% [ B
sum dy240
( S( Y+ C; B0 x* t" o* G5 u% U: f ! y# g+ }) ], X, w0 ^. O
gen yxis=r(max) in 1; K' d8 Z2 L" k( w q: b
9 Z* B! [. u' ~ gen yxis2=yxis/2! s8 v& P8 N: c0 ?, F) J* s
8 c9 l7 A3 n$ ~ U *yxis
) V2 l% Q7 o* C
8 P, O" d6 o) ?1 m gen dy240max=r(max)7 j% X, U2 A# O2 d
* Z* F1 C# o+ G. E6 P9 k
gen dy240minp=r(min)
% g. S+ ?1 C( _* _( U! k 8 p" \; m" ?, u/ n5 r+ i4 |" }; t" O1 |
gen vtt=_n$ q5 B5 x& x6 D! G
7 H2 h& Z% m, D5 k3 X
tsset vtt
9 g" U I/ ]* h* \4 D
( |6 c0 g) f2 p/ ~ gen ddy240=D1.dy240/D1.dx240
( S6 @/ t$ d; }% r, r/ u
2 z$ x4 J; U; ^% s sum ddy2408 Z0 {; P3 k% v' v) ~* ]
& F2 X5 A3 r5 W/ w
gen ddy240max=r(max) `; D( c: x$ n: M* B* K9 J
! |0 G# `. o: w1 c' [ gen ddy240min=r(min)' A. k8 F0 Z O8 H V+ }
* {8 X4 C% a: f2 _! L3 T gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)" m$ Y' w5 B! V1 s/ J/ x! V4 H' q
& x4 ^2 v# m$ T# G p7 F sum ddy240g
# X/ ~! \& G5 l) E: m% q9 h
: C: n9 f/ N5 U* J; Y& n1 {' [9 ?6 [ gen yxis3=r(min) in 1
( O: j- u* _7 X) | v7 b
4 O8 \5 R# }$ j6 {5 Q gen yxis4=0 in 1 [% \+ x& O; P2 `9 B3 I" x$ v& \* R
: Z& k2 k3 B' m) z" U) P
*ddy240g
# b! F' }" z5 Q1 x! |, L, } + k6 Z1 E- d: R8 i, X
. B: s% _" O& s$ R- v6 U& `2 q
preserve
" a5 ]( l" F( R- [
]2 e: k' n7 P3 h! T sum v5 [aw =avol] ^7 ?8 B- ? M$ [2 R6 v
- Z7 N l5 I1 [* o2 s5 ?3 B
keep if dx240<r(mean)
8 @7 q1 R( V( E5 W
0 @% ]/ y6 U7 V& g+ ?$ P sum ddy240* P' s+ g) V" L
- J: F" b: I3 N1 m. ^
if r(min)<0 {6 ? K- `7 x( u6 V1 l: r- N. E& v
5 K8 ]6 r8 l; g% P
keep if ddy240<=0
$ C/ [" z6 W, p7 _$ n( V7 S 4 F' Z7 w) Z! g
count
! u$ i# x4 k# W' q# p6 D+ K3 p/ T
( p& I" |: k4 S8 x if r(N)>2 {# @* _( Q* u# @; q
0 [2 l. |4 q9 L! j& h pkexamine dx240 dy240' c1 c. K$ o# M2 G; v6 a
1 Q3 } s. h$ N' E2 j6 W
local tempminp=r(tomc)
( c0 {8 F& S8 k4 J ]) d1 T restore
* E" p& d" J) j }
4 k8 Q: p. V0 ^8 L; R6 q8 `% t, W& E
7 p+ D8 T. y. p% s4 o else {
! o+ {7 }8 s! X4 _" e 5 S6 i% b( @4 ?# t% v5 m
di "cannot find minp"
, a3 s6 a1 `8 J' F, @" p" N # h9 A" t- a7 b! }+ d
restore
& y6 K. a! I5 ]; V! I sum dx240
+ c& J0 N, B! W/ V7 G- N local tempminp=r(mean)
5 ? T# b/ @5 y( B , L \8 d w: M6 \# a$ e
}
) ^0 d, y2 `' L4 M/ I% ] }) {: X3 j6 H G) S" B& p
else {
0 ?, H' g8 V) I" I# _4 F2 x% r 1 {% N7 S& E( k3 P% N
keep if ddy240<=r(min)
6 z# N3 ?7 x( `2 S9 ]7 g 9 h& ~, g; p. L: ^. h, \( n
sum dx240- H) h# \4 Q" y: ~& s
0 l8 b, n: n p8 ?: G local tempminp=r(min)& u( ` m$ ~8 b5 w) b7 o
restore 3 r9 O2 I5 N5 o
}
1 K* H1 b+ n# X
! }9 f* O8 F. m; C! E3 N+ N9 y% W: t( a9 C0 J2 @
* f5 I8 V6 o R. a
gen minp=`tempminp' in 1
2 X# d6 W( N- \4 N) Y *240 minp
/ `( G, \5 h& C) E
! a) U ~1 m- o1 D) D' I. Z% k- W; N3 {2 t9 R$ }
& G# s" U2 o! J1 o9 N, j
preserve
2 ?* x8 W- Z) l 7 _9 [; R F7 x' N, H
sum v5 [aw =avol]' `' ^4 B* C) S' \4 R" Q `2 {+ Y
* s, g8 r4 }+ a: U% a
keep if dx240>r(mean)( \( K. F$ e% x4 d1 n& X; K; j0 }
5 j8 e2 V" M9 t( z" V* Z* O5 }
sum ddy240! c5 U% [% ^! @1 A1 q! E
8 O& Z1 { E2 K# Q; S" i
if r(max)>0 {0 ~( b8 \. Z x- ~7 |- W
& a0 t9 ]( p& t* Y6 W! S* V' x/ { keep if ddy240>=0) I' r4 g3 z/ O
: Q+ \6 i# ?# T- c: D" w count# x/ o$ a1 L' c% R
- O% U0 k9 V! Z
if r(N)>2 {
: A. ]" U6 T2 u" } 4 W' t. X ]2 C
pkexamine dx240 dy240
" V: `% D, N" u$ W/ E0 o
; j3 |' R2 e! C5 _) v3 |: n$ j local tempmaxp=r(tomc) 1 g. O/ F, C9 n: j9 A/ P5 y+ B& X
restore " E# X2 i O4 ?# S" h% ^. r: r
}9 a F6 @1 ?( [7 C
) S) u* k# y. J+ l9 |: B
6 t# e H( F1 k1 l3 Y, {; f" W else {- _9 M' R: ]2 q5 G8 M ^8 p
restore
1 m( H* |5 @" c6 ^9 S( Z. ^, p di "cannot find maxp"
`2 Z; R) p& i
( L% E9 T: J5 C
; j1 P+ T0 D2 a) N9 e" m sum dx2400 v1 l5 Y; R- f4 A# g
local tempmaxp=r(mean)
. P2 X1 O2 @. b8 u5 `& f$ X G # z7 `8 `4 `2 I
}
& a1 \& w* ~+ E
! Q+ r1 G/ s* I! V: h }
, b" v! e, Z x- X1 ? 3 K$ f6 W: A4 C, k
else {
1 R2 s* a- [9 [ : c0 r0 v) g1 P! H/ ?4 l
keep if ddy240>=r(max)3 _% N$ g* z2 w+ l6 E5 w
2 J, J: [ B0 W4 B, w2 _
sum dx240
7 F" ]8 E# S4 E3 [& _, c
% s8 ?6 I5 M0 B+ h* C) _( d local tempmaxp=r(max)
7 t+ O8 x' r @7 d9 f) K/ a8 |2 o restore " }" U( a! I% c, `( L( }# A2 @
}
9 i6 e# Q7 U8 T( H2 O6 T
( @9 w! T7 x- Y- S' [- {
; t6 j h T/ n. Q1 H& P / R2 G" C1 d9 {- n
; v: T. r/ D8 G; U; a
gen maxp=`tempmaxp' in 1$ k1 c* A1 g/ f+ N$ \; P; ?" z
; d% _; H! f2 S, O* Z *240maxp$ x2 R" c4 E3 A/ M) ^4 n. V: j
# k* u+ t# C6 H4 {
! q* I! |! V! [3 _$ x
*-------------ddy240pminp左侧高峰值-----
) ^& X3 O9 j/ P3 Y; ? 6 o8 y- l/ d; ~' k
preserve
8 l- S- ]# }6 ^* h0 H4 _' a R& l
l# N8 J0 d# V- M2 n keep if dx240<`tempminp'8 j, S' C- D! K. Q+ \
- ]2 w, s! e* v
keep if ddy240>0
! P( f6 V2 Y9 S( A
. P1 Y4 h# [( p' t0 j# m4 D count
: x" k5 G& } e7 ~ ' n4 q1 u9 i( N1 m c5 c
if r(N)>2 {
, t$ f0 l1 W( v1 B- r0 l # {- ~* b' c3 @# I- B( m/ j5 @
pkexamine dx240 ddy240+ j" I+ O( X; ?* l$ e2 I7 b
8 l7 p7 T7 L; v. z3 T local tempminphddy240=r(tomc) 9 W8 r, V1 s6 N j r4 J/ n+ K
restore& P) c7 h, n, ^3 Y+ |/ o" A
}; m& S! g+ d* j$ K
. C$ b$ x' M% \! Y2 Q7 @7 `4 T! H
else {. g" v2 ^4 L" o* u: `4 r A6 T! [& Z
restore 6 y& D* G3 L4 s0 ~4 Z4 e+ k' }6 M
di "cannot find pminphddy240"& P3 N( D3 d! `7 L8 I" |0 _
' G/ V& r. p x! B3 i
& n4 z. k [9 a! S! t sum dx2407 {# S4 N3 X% k1 I3 Z5 C+ H& p
local tempminphddy240=r(mean) - g# t/ x0 ~0 V& P5 g# z2 Z
: O3 f& m3 f D! I8 f8 S: ~
# f/ ~7 B( r8 {( O ]/ F9 O }5 g) s9 d4 ]* [7 n( i3 h
7 j3 |* }' Z3 B3 a
/ C3 B# S& c5 o8 U
4 R$ l5 R* G9 F7 i" k0 O6 V
8 q7 A( z& n) y$ U8 G9 B8 b
; G+ K; H, S( @- ^* e, s* } + P }3 s* v# ?9 {1 Q
gen pminphddy240=`tempminphddy240' in 1
3 @$ r# q7 f- \4 X/ G# Q
& v& T" S3 c9 X7 s
0 z0 f) Q- ~ B8 w) A *-------------ddy240pminp右侧低峰值 -----------------) e* s+ W i! f
preserve
1 Q: ~0 _) v7 S. j9 @/ W
% x- {8 e- e4 o) @7 q. v q keep if dx240>`tempminp'" j! z) m& t; K* T1 L
9 ~$ Z/ q* b( N1 G4 B
keep if dx240<`tempmaxp'7 F4 w# J% b3 x5 U; i& t: ?
: b- c) D, ~, w" N* |% u$ h0 \; H
keep if ddy240<0
; G7 f5 j. C' B
9 a! Y( s3 W' g gen temddy240=-ddy2405 U- E( \) _* _$ p
3 Z7 C. Y9 d5 l0 f( R' e count
* T3 Q( Z3 c& [/ ^7 m/ X
6 R" p5 P* [2 g* ]/ _0 ` if r(N)>2 {
& g9 n" @" W0 z# P+ N+ {' f3 w 1 g8 p5 c" o3 |
pkexamine dx240 temddy240& r: |) q7 a0 u. {) h6 m
( ~: R& v" a: ?: [+ I local tempminplddy240=r(tomc)% w; ^- t0 A# j, d% E
restore: L, K- `$ K0 I: @0 b, Q3 ^6 d% r
}' ?) }" f4 N# ^: i
- w& @$ R5 r) ~& Z1 X; A2 o- P
else {- ~7 _# e5 k# Z
( d, S( Q) [2 t( s& m) N, _3 `$ k8 K di "cannot find pminplddy240"
4 t: h* R$ N" i* z: ? restore
7 v5 W$ B- C X* ~8 G& S( `
6 q8 \* q3 D; B3 E6 R! ]4 Q sum dx2406 a8 C- ?( l" R K' `. x
local tempminplddy240=r(mean)
4 q% v, s5 }0 z* i0 ?
) y' E6 q9 Y; A: Q( z6 q8 }5 u / ]/ j( H! E8 ^! [
}, m9 u4 f" \! O4 U5 q# w% v
; R: E+ ~$ t) B% [. @
" g# A6 w3 u, k6 W
/ S, f6 H! @: e. R4 } * ^% V' R7 A9 _* [# ?- ~
5 g# e0 r* a; z R. P0 x) w( k gen pminplddy240=`tempminplddy240' in 1
) _5 Z' _4 _0 F% W5 y2 ^5 W
6 q( W3 E" t1 P2 W *-------------ddy240pmaxp左侧高峰值 -------------------
) u- c/ H% u& K& P' u , N* K' C, T1 O$ E5 G
preserve
+ J' C# ?( h5 `7 _ U0 q4 j+ K) U , l& c) N7 h1 i% L
keep if dx240>`tempminp'+ z9 J* [ ~* [
! q" c' R: T8 R |
keep if dx240<`tempmaxp', f9 i! p* u* N6 j
* S( o" \' b: R# x keep if ddy240>02 {2 m P2 C% R/ X) w2 G
count
9 ]- G( y9 _; ` , N& e+ e* y( `- E6 G% y6 E! T1 D
if r(N)>2 {
q g- G" K! `
+ `( N0 @6 |9 j; G1 ] pkexamine dx240 ddy240
5 Y/ c* S! O1 b4 O : o1 X3 z' C4 E; p
local tempmaxphddy240=r(tomc)
$ _' ~* o0 ]; O0 j0 t5 b
' D1 l* o0 A; } restore: H. M1 c( Y- T* f4 t/ [
}
( i/ E/ {8 [* P* X M( b, _ ; K% G, y. V: {+ v0 w K
else {& G4 _' @7 t' u0 x; N/ G. E4 K$ f# \- b
! Y# o$ t- v$ H m di "cannot find pmaxphddy240": P1 H3 D! K/ J; [( \9 `9 P2 R
restore$ k1 z+ j8 x$ _; y
& ]+ i6 S+ y# z i sum dx240
7 }1 y! r6 P7 T; R, g9 ~1 y local tempmaxphddy240=r(mean) ; D9 t5 j0 J8 B- P. v
# u3 x, X( m6 s' w- W
5 \6 l, x! M ? }: y1 |! ]. w1 r1 ~/ z
7 `7 o2 b3 M6 ~" h
" e4 L% Y/ k( U2 ~- B
, c6 C; _' w/ \* {( E, K% E
5 G! ]( _6 }& Q' }7 v8 G3 p( |
' E# _* C/ \4 ?7 H3 V" b0 o
+ X% Z; \4 o" | gen pmaxphddy240=`tempmaxphddy240' in 1; d3 F6 e. r4 j: x
/ w4 X/ @. \2 h- d+ {# y
* h6 o' F9 D% i" |* { *-------------ddy240pmaxp右侧低峰值 -------------------
4 H$ w2 P. g! k' t2 b! _! V 3 ~ I7 O/ v9 I/ U$ [
preserve E0 O% d# s4 g% \
5 B0 M/ b" @8 F4 i6 k4 V3 F H
keep if dx240>`tempmaxp'
9 N8 `+ v- G! V8 y, t1 \+ v% X
( R( ~/ z+ c2 o5 d( |( M gen temddy240=-ddy240# S+ n* Y$ M" n/ h8 h9 B
E5 @0 B/ A$ V3 e8 W keep if temddy240>0
; b7 s" Q: T( z
: ?! x& l% C% K count
; Q8 Z5 F1 ?, a4 v0 ~ 9 A5 g7 b* y" H( Z
if r(N)>2 {6 X; v* c. j u% \' x7 Q9 Z" N
0 p i5 u) U6 u& D( k& I* k
pkexamine dx240 temddy240. E0 M7 r/ V/ ~# R! c, i. G
* }6 l' \, l* ~- S- M* g. J
local tempmaxplddy240=r(tomc)
: Q1 n$ z. h" ?! x: h restore
S% Q& t" \( p, _' u9 Q# S" F }
9 i2 \0 V c" X$ p" w5 c
# y( s# Y! c+ j" ?5 G else {
' u3 U( X4 U+ U$ ~/ ?. { restore
( X1 V6 P: ^5 A di "cannot find pmaxlhddy240"
5 I- v" s) R$ V! b 6 I* ]3 E1 G) y+ h- O
$ O* d2 |0 l9 R$ u1 \. w" J
sum dx240
/ g; m- B2 B& Y2 ` Z0 o. n7 O local tempmaxplddy240=r(mean) in 1
& G, @0 ?. F% x2 n+ S4 B
" Q T" C- T0 w0 G/ N ' |) ]" a, o; J
}* k4 O! v& G3 Y+ d- t
' w1 o0 k( l( Y! u0 S8 k
" \2 H6 |% ~* S% |. O* N
; f2 A1 W( R0 [! }3 ?: I/ D
9 U) S- b5 r& [+ @ ' g. @ X9 }& M Y
1 D- w3 W2 v& Q6 l: ? gen pmaxplddy240=`tempmaxphddy240' in 1
8 v2 N$ g3 D* ]! s
3 N7 P3 `8 \% T1 B *-------------------------------------8 P& P9 Y1 z' b. o; ^% i
# o3 o( d E, q2 x0 X gen price5d=v5 in 1/20
7 g( ~" P# h5 l% T$ J0 J: |
1 Q: j4 Y. Z% n gen price5yy=_n in 1/20
3 e. H, P3 G$ t; E
6 k- w w3 z4 I5 g- |2 s+ a gen price5y=price5yy*(dy240max-dy240min)/20
) f3 X5 }3 n- b8 | R4 w' k 2 S7 `* v4 y8 B# H) P/ T# T
*price5y &price5d& \0 \0 ~3 Y. J% L, V4 v) h( i0 E5 p
6 [/ ]' ^2 d, y, p+ j1 f R gen priceny=price5y in 1: m4 G/ N& G! p1 N2 B
& B F# d- H, t6 d
gen pricen=v5 in 1
$ K* U' Y$ B* V H
2 v( O5 f3 Q: _1 n7 C4 {; s0 S; `
2 ~5 D* Y: F* X *priceny &pricen
) j( u8 b* ~! f% p& V2 T$ L
" R/ y$ D' \4 V! h 3 {0 n' ?. t- O/ @: W
*-------------------------graph------------------
% O& z2 R! e W* K
& D1 k( f1 O9 x# R7 k9 D 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)2 E4 S0 q3 m- ~: ]8 `
& ^. E A% n0 Z* ---------可选项目----------------------6 a6 ^. C" z7 |* G$ z3 U
% | H4 v( ~8 }1 W3 V; L}
5 {2 [: u. Y) X& ^0 S* vend
; A( g2 d" b# _ |
|